我可以在虚拟机中运行Docker吗?
我试图在虚拟机上运行Docker。
Host : MAC BOOK VM : Parallels Windows 7
并发生错误。
可能吗?
您在Windows VM中使用Docker Machine,实际上是在Mac上的Windows VM中创build一个Linux VM。 你可以这样做,但是你需要启用嵌套虚拟化 – 我不确定你可以在Parallels 7中做什么。
相反,您可以直接在Mac上运行Docker Machine,并使用Parallels创buildLinux VM – 这意味着Docker在Mac上的Linux VM中运行,并且不需要嵌套虚拟化。
或者,如果您的操作系统支持,最好使用Docker for Mac ,这是最新的产品,并且比Docker Machine具有更好的主机集成。
如果虚拟机是一个Linux,你可以做到这一点没有任何问题 – 在Linux上,Docker本质上是一个工作良好的chroot。 因此,Linux docker不是虚拟化。
在Windows的情况下,并不那么容易。 Windows docker在内部使用Hyper-V来模拟容器。 这意味着你只能运行,如果你可以使用嵌套的虚拟化:
- 在你的主机上运行一个Windows虚拟机
- 在你的Windows VM里面运行一个HyperV
- HyperV由安装在虚拟Windows上的dockerpipe理。
我试过qemu / kvm,virtualbox和vmware播放器。 我深深地configuration了他们,我已经黑了他们,我尽了一切办法。 只有最后工作(VMWare)。
速度成本非常高,但是在Linux上进行开发可能会有所帮助,然后在Windowsconfiguration上进行试用testing。
你将需要很多内存。 至less16G。 32G比较好。 一个相对有用的configuration将是:
- 32GB物理内存的物理主机
- 运行在其上的Windows VM为12GB虚拟内存
- HyperV Linux主机的Windows VM内的 8GB虚拟内存。
有时候它会有点bug,但是只有你的HyperV会崩溃,你的虚拟Win,或者你的主机不会。 在Windows机器上testingDocker容器是可以的,你在Linux上开发的是什么。 不要以这种方式创build关键任务服务器。 🙂