Can I run Docker in a Virtual Machine?

后端 未结 4 1465
一向
一向 2021-01-31 15:18

I tried to run Docker on a virtual machine.

Host : MacBook 
VM : Parallels Windows 7

And error occurs:

Is it possible?

4条回答
  •  别那么骄傲
    2021-01-31 15:28

    If the VM is a Linux, you can do this without any problem - on Linux, the Docker is essentially a well-worked chroot. Thus, the Linux docker is not virtualization.

    In the case of Windows, it is not so easy. Windows Docker internally uses Hyper-V to emulate the containers. Which means that you can only run, if you can use nested virtualization:

    1. On your host machine runs a Windows VM
    2. Inside your Windows VM, runs a HyperV
    3. HyperV is managed by the docker installed on your virtual Windows.

    I tried qemu/kvm, virtualbox and vmware player. I configured them deeply and strongly, I've hacked them, I did every possible to do. Only the last worked (VMWare).

    There are significant speed costs, but it may be useful for development on Linux, and then trial-test on Windows configurations.

    You will need a lot of ram. At least 16G. 32G is better. A relative useful configuration would be:

    • 32GB physical RAM for the physical host
    • 12GB virtual RAM for the Windows VM running on it
    • 8GB virtual RAM inside the Windows VM for the HyperV Linux host.

    Sometimes it will be a little bit buggy, but only your HyperV will crash out, your virtual Win, or your host machine won't. It is okay for testing a docker container on a Windows machine, what you've developed on a Linux. Don't create mission critical servers on this way. :-)

提交回复
热议问题