我可以在Mac的Docker桌面上运行Windows容器吗?

Len*_*y D 12 macos docker docker-desktop

我希望能够在Mac上运行Windows Docker容器,似乎使用Docker Toolbox对此提供了支持。 如何在osx上运行docker Windows容器?

但似乎现在已不建议使用,我们现在应该使用Docker Desktop。

Docker Desktop有一个更好的新Hypervisor,称为​​HyperKit,而不是Virtual Box https://docs.docker.com/docker-for-mac/docker-toolbox/

Docker工具箱允许使用VirtualBox启动Windows容器,所以不确定这是否仍然可行?

我在这里https://www.clearpeople.com/insights/blog/2018/june/sitecore-demo-in-a-docker-container中找到了将Docker Desktop置于“ Windows容器模式”的参考

但是我找不到任何地方可以实现这一目标,我们将不胜感激任何帮助或见解。

小智 12

Docker 只在 Linux 机器上本地运行,因为它需要称为命名空间和控制组的 Linux 内核功能。Docker 容器是从精简的 Linux 发行版构建的。

在 OS X 和 Windows 上运行 Docker 的原始解决方案是 Docker Toolkit。这实际上是一个运行在 VirtualBox Hypervisor 中的 Linux 虚拟机。虚拟机安装了 Docker 并且可以运行容器。

Mac 版 Docker 桌面仍然使用运行在 HyperKit 管理程序中的运行 Linux 的虚拟机。这个虚拟机是轻量级的,并且有效地对用户隐藏。

同样,Docker Desktop for Windows 使用在 Hyper-V 管理程序中运行的虚拟机。它还可以运行 Windows 容器。

要运行 Windows 容器,您需要有一台运行 Docker 的 Windows 机器。Windows 机器可以是运行在 Mac 或 Linux 机器上的虚拟机。


bin*_*ord 9

我知道我来晚了,但截至 2021 年,这是在 macOS 上运行 Windows 容器的最简单设置:

https://github.com/StefanScherer/windows-docker-machine

  1. 安装vagrant和virtual box
  2. 克隆上面的存储库并将目录更改为它
  3. vagrant up --provider virtualbox 2019-box
  4. docker context use 2019-box

我按照这个设置,我可以使用以下 Windows 图像

mcr.microsoft.com/windows/servercore:ltsc2019
Run Code Online (Sandbox Code Playgroud)

请注意,您的主机的 Windows 版本必须与容器镜像匹配。这里提到了这一点: https: //hub.docker.com/_/microsoft-windows

Windows 要求主机操作系统版本与容器操作系统版本匹配。如果您想运行基于较新 Windows 版本的容器,请确保您具有等效的主机版本。

  • @btk:使用 windows-docker-machine 时,您正在创建一个 Windows 虚拟机来充当 docker 主机。您在该主机上运行的容器的操作系统版本必须与虚拟机的操作系统相匹配。 (2认同)