Jam*_*aix 6 docker docker-for-windows
在Windows上使用Docker时,您必须选择使用Windows或Linux容器,但是不能同时使用这两个容器。这是什么技术原因?这有点违反直觉,因为每个容器都有自己的隔离操作系统。
Docker for Windows 上的 Linux 容器不是由 Windows 本身处理的,而是使用 Hyper-V Linux VM - MobyLinuxVM。因此有必要在 Linux 和 Windows 之间切换。
但是,从 Windows 1709 和边缘版本的 Docker 开始,您可以在 Windows 上试用 linux 容器 - 请参阅:https : //blog.docker.com/2017/09/docker-windows-server-1709/
更新
正如@v.karbovnichy 提到的那样,从技术上讲,在 Windows Docker 上,您“可以”同时运行 linux 和 windows 容器——您可以使用docker-machine命令来创建额外的基于 linux 的虚拟机来运行您的 linux 容器。然后,您可以将它们连接到一个群中,并且出于善意,您将在同一台机器上同时运行 linux 和 windows 容器。
docker客户端命令本身可以连接到 linux 或 windows docker-server 并“管理”它们两者 - 检查docker login- 它广泛用于服务器配置。
然而,如上所述,真正运行的 linux 和 windows 容器彼此相邻处于预览状态。
Windows 机器上的 Docker 生态系统包含多个组件。一个是 Docker 命令行:docker您用于一切管理的命令。第二个是Docker守护进程——A self-sufficient runtime for containers核心。
Linux 容器和 Windows 容器的 Docker 守护进程不同,但它们在同一管道上侦听来自 docker 客户端的连接。因此,需要停止一个才能启动另一个。这是您要求的技术原因。
但是,您可以观察到容器是为 ex 启动的。在 MobyLinux 中,当您切换到 Windows 容器时,VM 仍在运行并可用于连接。这里唯一的问题是您无法管理它们,因为 Windows 的 Docker 守护程序不知道如何在 MobyLinuxVM 中管理 Linux 容器。
更新:正如描述的这个帖子,
Docker for Windows 18.02 现在支持使用单个 Docker 守护程序通过 LCOW 并行运行的 Linux 和 Windows 容器。
所以实际上现在你可以使用一个 docker 守护进程来管理这两个世界,它只是--platform在docker pull.
| 归档时间: |
|
| 查看次数: |
2094 次 |
| 最近记录: |