Diferente de uma máquina virtual completa, um contêiner compartilha o kernel do sistema operacional host, o que o torna muito mais leve e rápido de iniciar. A ferramenta mais conhecida pra isso é o Docker.
Exemplo prático: um contêiner pode empacotar exatamente a versão do Node.js e das dependências que um projeto usa, garantindo que ele rode do mesmo jeito na máquina de um desenvolvedor e em produção.