Virtual Machine Manager para Docker Desktop en Mac
Docker Desktop soporta múltiples gestores de máquinas virtuales (VMM) para hacer funcionar la VM Linux que ejecuta los contenedores. Puedes elegir la opción más adecuada según la arquitectura de tu sistema (Intel o Apple Silicon), tus necesidades de rendimiento y los requisitos de las funciones. Esta página proporciona una descripción general de las opciones disponibles.
Para cambiar el VMM, ve a Settings > General > Virtual Machine Manager.
Docker VMM
Docker VMM es un hipervisor optimizado para contenedores. Al optimizar tanto el kernel de Linux como las capas del hipervisor, Docker VMM ofrece mejoras significativas de rendimiento en las tareas comunes de desarrollo.
Algunas de las mejoras clave de rendimiento que proporciona Docker VMM incluyen:
- Operaciones de E/S más rápidas: Con una caché fría, iterar sobre un sistema de archivos compartido grande con
findes el doble de rápido que al usar el framework Apple Virtualization. - Caché mejorada: Con una caché caliente, el rendimiento puede mejorar hasta 25 veces, superando incluso las operaciones nativas de Mac.
Estas mejoras afectan directamente a los desarrolladores que dependen de un acceso frecuente a los archivos y de la capacidad de respuesta general del sistema durante el desarrollo en contenedores. Docker VMM representa un salto significativo en velocidad, lo que facilita flujos de trabajo más fluidos y ciclos de iteración más rápidos.
NoteDocker VMM requiere que se asigne un mínimo de 4 GB de memoria a la VM Linux de Docker. Debes aumentar la memoria antes de habilitar Docker VMM, y puedes hacerlo desde la pestaña Resources en Settings.
Problemas conocidos
Dado que Docker VMM aún está en Beta, existen algunas limitaciones conocidas:
- Docker VMM no soporta Rosetta en este momento, por lo que la emulación de arquitecturas amd64 es lenta. Docker está explorando posibles soluciones.
- Ciertas bases de datos, como MongoDB y Cassandra, pueden fallar al usar virtiofs con Docker VMM. Se espera que este problema se resuelva en una versión futura.
Apple Virtualization framework
El framework Apple Virtualization es una opción estable y consolidada para gestionar máquinas virtuales en Mac. Ha sido una elección fiable para muchos usuarios de Mac a lo largo de los años. Este framework es ideal para desarrolladores que prefieren una solución probada con un rendimiento sólido y una amplia compatibilidad.
QEMU (heredado) para Apple Silicon
NoteQEMU se ha marcado como obsoleto en las versiones 4.44 y posteriores. Para obtener más información, consulta el anuncio en el blog.
QEMU es una opción de virtualización heredada para Macs con Apple Silicon, compatible principalmente con casos de uso antiguos.
Docker recomienda la transición a alternativas más recientes, como Docker VMM o el framework Apple Virtualization, ya que ofrecen un rendimiento superior y soporte continuo. Docker VMM, en particular, ofrece mejoras sustanciales de velocidad y un entorno de desarrollo más eficiente, lo que lo convierte en una opción atractiva para desarrolladores que trabajan con Apple Silicon.
Ten en cuenta que esto no está relacionado con el uso de QEMU para emular arquitecturas no nativas en compilaciones multiplataforma.
HyperKit (heredado) para Macs basados en Intel
NoteHyperKit está obsoleto. Docker recomienda cambiar al framework Apple Virtualization.
HyperKit es una opción de virtualización heredada para Macs basados en Intel. Docker recomienda cambiar a alternativas modernas para obtener un mejor rendimiento y preparar tu configuración para el futuro.