docker virtual-machine parallels

¿Puedo ejecutar Docker en una máquina virtual?



virtual-machine parallels (2)

Intenté ejecutar Docker en una máquina virtual.

Host : MacBook VM : Parallels Windows 7

Y se produce un error:

¿Es posible?


Está utilizando Docker Machine en su máquina virtual de Windows, que en realidad creará una máquina virtual de Linux dentro de la máquina virtual de Windows en su Mac. Puede hacerlo, pero necesita habilitar la virtualización anidada , lo cual no estoy seguro de que pueda hacer en Parallels 7.

En su lugar, puede ejecutar Docker Machine en la Mac directamente y usar Parallels para crear la VM de Linux , lo que significa que Docker se está ejecutando en una VM de Linux en su Mac, y no necesita virtualización anidada.

O preferiblemente use Docker para Mac si su sistema operativo lo admite, es el producto más reciente y tiene una integración de host mucho mejor que Docker Machine.


Si la VM es un Linux, puede hacerlo sin ningún problema: en Linux, el Docker es esencialmente un chroot bien trabajado. Por lo tanto, la ventana acoplable de Linux no es la virtualización.

En el caso de Windows, no es tan fácil. Windows Docker utiliza internamente Hyper-V para emular los contenedores. Lo que significa que solo puede ejecutar, si puede usar la virtualización anidada:

  1. En su máquina host ejecuta una máquina virtual de Windows
  2. Dentro de su máquina virtual de Windows, ejecuta un HyperV
  3. HyperV es administrado por la ventana acoplable instalada en su Windows virtual.

Probé qemu / kvm, virtualbox y vmware player. Los configuré profundamente y fuertemente, los hackeé, hice todo lo posible por hacer. Sólo el último funcionó (VMWare).

Hay costos de velocidad significativos, pero puede ser útil para el desarrollo en Linux y luego para pruebas de prueba en las configuraciones de Windows.

Necesitarás un montón de ram. Al menos 16G. 32G es mejor. Una configuración relativamente útil sería:

  • RAM física de 32GB para el host físico
  • RAM virtual de 12 GB para la máquina virtual de Windows que se ejecuta en ella
  • RAM virtual de 8GB dentro de la VM de Windows para el host HyperV Linux.

A veces será un poco buggy, pero solo su HyperV se bloqueará, su Win virtual o su máquina host no. Está bien para probar un contenedor docker en una máquina con Windows, lo que has desarrollado en un Linux. No cree servidores de misión crítica de esta manera. :-)