gpt4 book ai didi

docker - 如果 Docker 在 windows 上原生运行,那为什么需要 hyper-v

转载 作者:IT老高 更新时间:2023-10-28 12:37:39 25 4
gpt4 key购买 nike

如果 Docker 社区在 Windows 上本地运行,那么为什么需要 Hyper-v?即, native 不是暗示 Docker-Engine 可以在 Windows 上运行指令吗?在我看来,它仍然可以启动 Linux VM 并在其中运行。

在我看来,docker-toolbox 似乎使用了运行 linux 的 oracle hyper-visor,而 Docker 社区使用了运行 linux 的 Hyper-V。我忽略了另一个重要的区别吗?

这是正确的吗?我对“本地”这个词的理解是否错误,是 docker 误用了这个词,还是我遗漏了其他一些方面?

我之所以问,是因为我注意到您没有在社区版中使用 Docker-machine,我想知道为什么会这样。 docker-machine 是在 Windows 上自然运行的东西,而 Docker Engine 不是吗?我认为 docker 这个词过载了,在这种情况下可能会导致困惑:)

提前致谢!

最佳答案

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

  1. Docker Toolbox,其中包括 Docker Machine,它将在 VirtualBox 内启动 boot2docker 镜像。这些是在 VM 内使用 Linux 内核运行的 Linux 容器。这原本是 Windows 用户的唯一选择。

  2. Docker for Windows 使用 Hyper-V 运行基于 LinuxKit 的 Moby VM,以运行 Linux 镜像。 LinuxKit 提供了一个基于容器的 Linux 操作系统,并且有一些集成使它看起来不像最终用户的虚拟机,例如您可以使用 127.0.0.1 代替 VirtualBox VM 的 IP。如果您有可用的 Hyper-V 并希望在 Windows 上运行 Linux 容器,这是首选选项。

  3. Windows Server 容器在同一主机操作系统上运行 Windows 二进制文件,类似于 Linux 操作系统上的 Linux 容器不需要 VM。

  4. Hyper-V 容器,在单独的虚拟机内运行 Windows 二进制文件以实现额外隔离。

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

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

关于docker - 如果 Docker 在 windows 上原生运行,那为什么需要 hyper-v,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48251703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com