¿Cuál es la diferencia clave entre un contenedor y una máquina virtual?
Opciones
- Los contenedores arrancan un kernel completo, así que pesan como una VM
- Los contenedores comparten el kernel del host; las VMs corren su propio kernel sobre hardware virtual (Opción correcta)
- Las VMs arrancan más rápido porque se saltan el arranque del sistema operativo
- Los contenedores no pueden limitar CPU ni memoria, así que hace falta una VM
Respuesta
Los contenedores comparten el kernel del host y aíslan procesos (namespaces, cgroups); las VMs virtualizan hardware y corren su propio kernel
Por qué
Una máquina virtual emula una computadora entera y ejecuta dentro un sistema operativo completo: aislamiento fuerte, pero pesada (GBs, minutos para arrancar).
Un contenedor es solo un proceso aislado sobre el kernel Linux del host, empaquetado con su app y sus librerías. Es ligero (MBs) y arranca en segundos.
Por eso puedes ejecutar decenas de contenedores en una laptop. (En Mac y Windows, Docker ejecuta por debajo una pequeña VM Linux.)
Recuerda
VM = computadora entera. Contenedor = proceso aislado que comparte el kernel.