Colección de citas famosas - Slogan de motivación - ¿Docker realmente es compatible con Mac y Windows nativos?

¿Docker realmente es compatible con Mac y Windows nativos?

No,

La mayor diferencia entre Docker y VM es que uno es la virtualización a nivel del sistema operativo y el otro es la virtualización a nivel de hardware. Por lo tanto, Docker puede ejecutarse en una máquina virtual. No puede simplemente instalar una máquina virtual en Windows y luego ejecutar Docker, simplemente diga que Docker es compatible con Windows. Para permitir que Docker se ejecute en máquinas virtuales, Docker ha desarrollado especialmente Docker Toolbox y docker-machine. El núcleo de ellos es ejecutar Docker a través de máquinas virtuales, lo que solo simplifica el proceso intermedio de implementación y configuración para los usuarios. Para esta versión Beta, se requiere más trabajo de optimización. El autor también envió una solicitud de prueba y luego entró en la larga lista de espera, pero supongo que la mejora de esta versión se refleja principalmente en los siguientes aspectos:

Al usar una distribución Linux liviana, hacer que las máquinas virtuales sean más pequeñas y más rápido de implementar e instalar. Alpine Linux es una versión muy liviana y Docker también planea usar Alpine como imagen base predeterminada.

Soporte de conjunto de herramientas nativo. En el pasado, cuando ejecutábamos sin Linux, necesitábamos usar herramientas como MINGW para simular Shell. La salida de Beta esta vez definitivamente fortaleció este aspecto y apoyó el orden ecológico original.

Mejor soporte de red. El sistema de red de Docker se puede integrar en los sistemas de red nativos de Mac y Windows para facilitar la configuración del usuario.

Mejor adaptación al sandbox del sistema. Tanto OS X como Windows admiten el sandboxing y pueden reforzarse en este sentido.

Entonces, ¿por qué es tan difícil admitir Windows y Mac originales? Esto debe comenzar desde los principios básicos de Docker:

la tecnología CGroup, que se utiliza para controlar la CPU, la memoria y red Si los recursos son limitados, esto requiere soporte del kernel y actualmente solo el soporte de Linux es mejor.

lLa tecnología Namespace se utiliza para el aislamiento de recursos del usuario. Tenga en cuenta que el aislamiento aquí es para convertir un proceso en una zona de pruebas con un PID, una pila de red, un nombre de host, etc. completamente independientes, y esto actualmente, la tecnología es solo. soportado por Linux.