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 |