Sobes.tech
Junior

Qual é a diferença entre Docker e uma máquina virtual?

sobes.tech IA

Resposta da IA

A diferença entre Docker e uma máquina virtual reside no nível de virtualização:

  • Máquina virtual (MV): Virtualiza o hardware. Cada MV contém um sistema operativo completo (SO) convidado, que funciona sobre um hipervisor. Isto cria um isolamento completo entre as MV, mas requer recursos significativos (RAM, espaço em disco).
  • Docker: Virtualiza o sistema operativo ao nível de processo. Os contêineres Docker funcionam em um único sistema operativo host, usando o núcleo desse SO. Contêm apenas as aplicações, bibliotecas e dependências necessárias, sem incluir um SO convidado completo. Isto torna-os mais leves, portáteis e rápidos de iniciar.

As principais diferenças podem ser resumidas assim:

Característica Máquina virtual Docker
Nível de virtualização Hardware Sistema operativo (ao nível de processo)
Inclui Um SO convidado completo Aplicação, dependências, bibliotecas
Uso do núcleo O seu próprio núcleo do SO convidado Núcleo do SO do host
Tamanho Gigabytes Megabytes/centenas de megabytes
Tempo de arranque Minutos Segundos
Isolamento Completo (ao nível do hardware) Ao nível de processos e sistema de ficheiros
Recursos Elevados (RAM, CPU, Disco) Significativamente menores
Exemplo VMware, VirtualBox, KVM Docker, rkt