Windows 的 Docker 和 Windows 的 Docker 有什么区别?
What's the difference between Docker for Windows and Docker on Windows?
Docker on Windows 似乎是 Windows Server 2016 中内置的内容?并支持 Docker 容器内的 运行 Windows 并使用 Windows 作为 Docker 容器主机。这个支持Linux吗?我不这么认为,我认为它只支持 运行 Windows Docker 容器。这似乎也由 Microsoft 维护。
Docker for Windows 似乎是由 Docker 团队创建的一个单独安装,用于将 Linux Docker 带到 Windows。所以 Windows 可以是 Docker 主机,但所有容器仍然只是普通的 Linux 容器。这是否支持 Windows 容器?我不这么认为,我认为它只支持 运行 Linux Docker 容器。这似乎也由 Docker.
维护
另一个有趣的注意事项是 Docker Tools for Visual Studio 似乎只支持 Docker 桌面 Windows 而不是 Docker 在 Windows.
我真正想要的是两者之间的明确差异,某种很好的比较。每个功能都试图实现什么功能,它们在哪里相似,它们在哪里不同。他们会永远不同还是会走到一起?
Docker 在 Windows 上是口语化的方式来指代 Docker 引擎 运行宁 Windows。我发现将其视为 Windows 容器主机 很有帮助,所以是的 Windows 仅容器。这就是您在 Windows Server 2016 计算机上 运行 所做的。所以也许更好的名字是 Docker for Windows Server 我相信人们也使用过。我还是更喜欢 Windows 容器主机。这意味着它最终只有 Docker 引擎,甚至不需要任何 Docker 客户端(docker CLI,docker-compose , ETC)。
Docker Desktop for Windows 是一款适用于 运行ning both Linux 和Windows 个容器在 Windows 上。 不适用于生产环境,而是针对 Windows 的 desktop/client SKU,因此需要 Windows 10。因此,您可以将其视为 Docker for Windows 10。因为 DfW 可以 运行 两种容器类型,所以它在您的机器上设置了不同的配置:
- 当使用 Linux 容器时,DfW 创建了一个带有 Hyper-V 的 MobyLinuxVM,其中 运行s Linux 容器,透明地,就好像它们运行ning 在 Windows 10 主机上。
- 使用 Windows 容器时,DfW 会在 Windows 上安装与 Docker 相同的组件,以便您拥有 Windows 容器主机。您现在已经设置了 Windows Docker 引擎。然后,这允许您在 Win 10 客户端 SKU 上 运行 windows 容器。
理论上你可以在 Windows 服务器上安装 DfW,我没试过所以我不知道这是否会失败,但你为什么要 运行 Linux Windows 生产主机上的容器?在生产中,您将拥有 Linux 容器主机 运行 linux 容器和 Windows 容器主机 运行 windows 容器,这将避免开销并简化事情。
只是为了补充 Wes 在 Docker 上对 Windows 的回答,以及关于实验性 LCOW 的一些细节,这正是您正在寻找的并排执行 Windows和 Windows 主机上的 Linux 个容器。
现在有两种方法 运行 Linux 容器 Docker for Windows 和 Hyper-V:
- 运行 Linux 完整 Linux VM 中的容器 - 这就是 Docker
通常在今天。
- 运行 Linux 容器 在 Windows (LCOW) 上,具有 Hyper-V 隔离 - 这是 [=58 中的一个新选项=] 对于 Windows.
在第一种方法中,Docker for Windows windows 将在 Windows 主机上具有 docker 守护进程服务,并且它将是在 Linux MOBY VM 上可用。所以基本上,您将有 2 个不同的 docker 主机。一个 运行ning 在您的 Windows 主机上,仅管理 Windows 个容器,另一个 运行ning 在您的 Linux Moby VM 和仅管理 Linux 容器.
It is important to note that, All Linux Containers will share a Single Linux Kernel on Moby VM and All Windows Containers will share Single Windows Kernel on Windows Host Machine.
使用第二种方法,事情真的变得很有趣,
Linux 具有 Hyper-V 隔离的容器 运行 每个 Linux 优化的 Linux 虚拟机中的容器,刚好够 OS 到 运行 容器。每个 Linux 容器都有自己的内核 和自己的虚拟机沙箱。它们也由 Docker 在 Windows 上直接管理。
The main difference here in this approach is that there is only one docker daemon service is running on Windows Host Machine and managing both Windows and Linux containers.
All Windows Containers will Share Single Windows Kernel while Each Linux Container will have its own Linux Kernel
想了解更多详情,请参考
https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers
Docker on Windows 似乎是 Windows Server 2016 中内置的内容?并支持 Docker 容器内的 运行 Windows 并使用 Windows 作为 Docker 容器主机。这个支持Linux吗?我不这么认为,我认为它只支持 运行 Windows Docker 容器。这似乎也由 Microsoft 维护。
Docker for Windows 似乎是由 Docker 团队创建的一个单独安装,用于将 Linux Docker 带到 Windows。所以 Windows 可以是 Docker 主机,但所有容器仍然只是普通的 Linux 容器。这是否支持 Windows 容器?我不这么认为,我认为它只支持 运行 Linux Docker 容器。这似乎也由 Docker.
维护另一个有趣的注意事项是 Docker Tools for Visual Studio 似乎只支持 Docker 桌面 Windows 而不是 Docker 在 Windows.
我真正想要的是两者之间的明确差异,某种很好的比较。每个功能都试图实现什么功能,它们在哪里相似,它们在哪里不同。他们会永远不同还是会走到一起?
Docker 在 Windows 上是口语化的方式来指代 Docker 引擎 运行宁 Windows。我发现将其视为 Windows 容器主机 很有帮助,所以是的 Windows 仅容器。这就是您在 Windows Server 2016 计算机上 运行 所做的。所以也许更好的名字是 Docker for Windows Server 我相信人们也使用过。我还是更喜欢 Windows 容器主机。这意味着它最终只有 Docker 引擎,甚至不需要任何 Docker 客户端(docker CLI,docker-compose , ETC)。
Docker Desktop for Windows 是一款适用于 运行ning both Linux 和Windows 个容器在 Windows 上。 不适用于生产环境,而是针对 Windows 的 desktop/client SKU,因此需要 Windows 10。因此,您可以将其视为 Docker for Windows 10。因为 DfW 可以 运行 两种容器类型,所以它在您的机器上设置了不同的配置:
- 当使用 Linux 容器时,DfW 创建了一个带有 Hyper-V 的 MobyLinuxVM,其中 运行s Linux 容器,透明地,就好像它们运行ning 在 Windows 10 主机上。
- 使用 Windows 容器时,DfW 会在 Windows 上安装与 Docker 相同的组件,以便您拥有 Windows 容器主机。您现在已经设置了 Windows Docker 引擎。然后,这允许您在 Win 10 客户端 SKU 上 运行 windows 容器。
理论上你可以在 Windows 服务器上安装 DfW,我没试过所以我不知道这是否会失败,但你为什么要 运行 Linux Windows 生产主机上的容器?在生产中,您将拥有 Linux 容器主机 运行 linux 容器和 Windows 容器主机 运行 windows 容器,这将避免开销并简化事情。
只是为了补充 Wes 在 Docker 上对 Windows 的回答,以及关于实验性 LCOW 的一些细节,这正是您正在寻找的并排执行 Windows和 Windows 主机上的 Linux 个容器。
现在有两种方法 运行 Linux 容器 Docker for Windows 和 Hyper-V:
- 运行 Linux 完整 Linux VM 中的容器 - 这就是 Docker
通常在今天。 - 运行 Linux 容器 在 Windows (LCOW) 上,具有 Hyper-V 隔离 - 这是 [=58 中的一个新选项=] 对于 Windows.
在第一种方法中,Docker for Windows windows 将在 Windows 主机上具有 docker 守护进程服务,并且它将是在 Linux MOBY VM 上可用。所以基本上,您将有 2 个不同的 docker 主机。一个 运行ning 在您的 Windows 主机上,仅管理 Windows 个容器,另一个 运行ning 在您的 Linux Moby VM 和仅管理 Linux 容器.
It is important to note that, All Linux Containers will share a Single Linux Kernel on Moby VM and All Windows Containers will share Single Windows Kernel on Windows Host Machine.
使用第二种方法,事情真的变得很有趣,
Linux 具有 Hyper-V 隔离的容器 运行 每个 Linux 优化的 Linux 虚拟机中的容器,刚好够 OS 到 运行 容器。每个 Linux 容器都有自己的内核 和自己的虚拟机沙箱。它们也由 Docker 在 Windows 上直接管理。
The main difference here in this approach is that there is only one docker daemon service is running on Windows Host Machine and managing both Windows and Linux containers.
All Windows Containers will Share Single Windows Kernel while Each Linux Container will have its own Linux Kernel
想了解更多详情,请参考 https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers