Containers are not VMs, code runs directly on metal and performance is pretty-much-native.
https://web.archive.org/web/20150218172511/http://domino.res...
This is from 2015, and it improved from there (e.g. the daemon-less podman matured, NAT is no longer needed). That said, I'd happily take even the performance impact of VMs and order a few more servers, if it means that I won't have to deal with dotnet/java runtimes being shared by multiple applications.