如果Docker在Windows上本机运行,那为什么它需要hyper-v

前端之家收集整理的这篇文章主要介绍了如果Docker在Windows上本机运行,那为什么它需要hyper-v前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果Docker社区在Windows上本机运行,那为什么它需要Hyper-v? I.E.,本地意味着Docker-Engine可以在Windows上运行指令吗?它看起来像是它仍然启动一个Linux VM并在其中运行.

对我来说,似乎docker-toolBox使用运行linux的oracle hyper-visor,而Docker社区使用运行linux的Hyper-V.我忽视了另一个重要的区别吗?

它是否正确?我理解“本地”这个词是错误的,是码头工人误用了这个词,还是我还缺少其他一些方面?

我问的原因是因为我注意到你没有将Docker-machine与社区版一起使用,我想知道为什么会这样. docker-machine是在Windows上运行的东西,而Docker Engine却没有?我认为docker这个词过载,在这种情况下可能导致混乱:)

提前致谢!

Docker对Windows的支持有几种变体:

> Docker ToolBox包括Docker Machine,它将在VirtualBox内部旋转boot2docker镜像.这些是在VM内部运行Linux内核的Linux容器.这最初是Windows用户的唯一选择.
> Docker for Windows使用Hyper-V运行基于LinuxKit的Moby VM来运行Linux映像. LinuxKit提供了一个基于容器的Linux操作系统,并且有一些集成使它看起来不像最终用户的虚拟机,例如您可以使用127.0.0.1而不是VirutalBox VM的IP.如果您有Hyper-V可用并希望在Windows上运行Linux容器,则这是首选选项.
> Windows Server Containers在同一主机操作系统上运行Windows二进制文件,类似于Linux操作系统上的Linux容器不需要VM.
> Hyper-V容器,在单独的VM内运行Windows二进制文件以进行额外隔离.

您可以在Microsoft’s docs中阅读有关后两个选项的更多信息.

需要注意的重要一点是,当您在支持的服务器(如2016)上安装Docker for Windows时,您可以在两者之间切换选项2,3和4.对于Linux和Windows容器,有一个影响所有正在运行的容器和命令的switch in the settings.在Windows Server Containers和Hyper-V容器之间,docker run命令行上有–isolation选项.因此,即使您只需要选项3,我相信您需要支持Hyper-V才能覆盖2和4.

猜你在找的Docker相关文章