如何在OSX上运行Docker Windows容器?

31

我正在运行Docker for Mac,并希望启动一个Windows容器。根据我所看到的,这应该通过虚拟机实现。但是我不清楚如何找到如何使其工作的方法?或者它只适用于Linux容器吗?提前谢谢!

docker build nanoserver/
Sending build context to Docker daemon   2.56kB
Step 1/6 : FROM microsoft/nanoserver:10.0.14393.1480
10.0.14393.1480: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer 
baa0507b781f: Pulling fs layer 
image operating system "windows" cannot be used on this platform
3个回答

16

我知道我来晚了,但是截至2021年,这是在Mac上运行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
请注意,您的主机的Windows版本必须与容器镜像相匹配。这在此处有提到:https://hub.docker.com/_/microsoft-windows

Windows 要求主机操作系统版本与容器操作系统版本相匹配。如果您想运行基于更新的 Windows 构建的容器,请确保您拥有相应的主机构建。


1
这是@szeitlin所提到的问题。显然,可以通过降级vagrant来解决它。 - binford
1
@Code-Apprentice 是的。如果你想在 macOS 上运行一个 Windows 容器,你别无选择。Docker 不提供跨操作系统的可移植性。这是与虚拟机的一个关键区别。详细解释可以参考这里 - binford
这个解决方案适用于M1芯片吗?因为VirtualBox在M1芯片上不受支持。 - undefined
@ZeeshanAhmadKhalil 有人试图使用UTM来使其工作,UTM适用于苹果的Silicon芯片的Mac电脑。但是设置可能不容易。 - undefined
@binford 是的,设置起来很困难,所以我现在正在使用 parallels - undefined
显示剩余2条评论

8
请看这个链接: https://forums.docker.com/t/how-do-i-start-a-windows-docker-container-on-my-mac-os-x/12953/2 如果无法打开链接,请参考以下文本:
在OS X上,需要获取VirtualBox。 下载Windows Server 2016 Tech Preview 5 ISO167 (从Microsoft免费下载) 在virtualbox中创建WS 2016 TP5虚拟机 在新的虚拟机中运行此206 现在你可以在虚拟机中运行Windows容器。为使设置更易于使用,请查看以下内容:https://forums.docker.com/t/windows-server-2016-tp5-docker-server-remote-management/10315/5317

3
Docker已经添加了一些实验室,展示了所有设置使用Windows容器的方法。在OSX上唯一的方法是在虚拟机中或使用云提供商如Azure:https://github.com/docker/labs/blob/master/windows/windows-containers/Setup.md - Mano Marks
18
这仍然是2018年8月的答案吗?或者一年过去了,情况有所改善吗? - Pure.Krome
我创建了这个问题https://dev59.com/8FQJ5IYBdhLWcg3wERmZ,让我们看看。 - Lenny D
1
@LennyD,“Windows容器模式”仅适用于Docker for Windows,您可以轻松切换Windows和Linux容器。不幸的是,在OSX上没有相应的功能。 - Shagglez
1
截至2021年,有一个更简单的解决方案,请参见重复问题中的我的答案 - binford
显示剩余2条评论

-1

您还可以在您的计算机上安装Bootcamp,这样您就可以在OS X和Windows 10之间双重引导您的计算机。然后,您可以使用硬件的全部性能专门用于Windows和Docker,而不是虚拟化。

此外,您可以使用适用于Mac OS的VMWare Fusion或Parallels,这样您也可以从Mac OS中访问双重引导的Windows分区,以获得最大的灵活性。在安装过程中,请确保不要创建虚拟机驱动器,而是直接访问bootcamp分区。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接