Docker Desktop 无法切换为 Windows 容器

10

我已经安装了最新版本的Docker Desktop。但目前无法切换到Windows容器。任务栏中的选项被禁用:

Docker Desktop的选项被禁用

我的操作系统是64位Windows 10 Home Build 19042。


你可能有某种反病毒软件阻止了这个。请参考此GitHub问题:https://github.com/docker/for-win/issues/4174 - Pratik Thanki
你解决了这个问题吗? - user867662
4个回答

6

要使用Windows容器,您需要使用Windows 10 Pro或企业版。

来源

另一个答案确实会将您的守护程序模式切换为Windows,但您将无法拉取任何Windows容器。

更新2022: 上面的链接现在提到可以在以下系统上使用:

  • 64位Windows 11:家庭版或专业版21H2或更高版本,或企业版或教育版21H2或更高版本。
  • 64位Windows 10:家庭版或专业版21H1(版本19043或更高版本),或企业版或教育版20H2(版本19042或更高版本)。

2
这是正确的,但需要澄清一下,因为需求说明Win Home版兼容。 - code4days
这也让我困扰了。即使我切换到“Windows容器”,Win Home 也无法使用。事实上,即使我切换后,切换回“Linux 容器”的选项也不显示。仍然显示切换到 Windows 容器,所以我怀疑是否已经发生了切换。 - Matthew Allen
@MatthewAllen 根据你当前的 Windows 版本,你可能需要升级到专业版或企业版。当我发现这个解决方案时,我遇到了和你完全相同的问题。 - mababin

5

enter image description here

这条命令将在Windows和Linux之间进行切换。 在此输入图像描述

1
我即使做了这个,仍然无法拉取Windows镜像。 - mababin
2
您需要使用Windows专业版或企业版才能使用此功能。 - mababin

5

我花了数小时调试此问题,还购买了Win 10专业版许可证,但仍然面临相同的问题。默认情况下,它使用Linux容器,而切换到Windows后会一直等待。以下是解决方法:

  1. Windows Pro

  2. 通过右键单击任务栏上的小图标关闭/关闭客户端,并等待一两分钟,以使其自动关闭。

    3.使用管理员权限打开命令提示符

  3. 键入此命令:

    c:\Program Files\Docker\Docker\resources>dockerd.exe

  4. 再次使用管理员权限打开另一个命令提示符

    C:\Program Files\Docker\Docker>DockerCli.exe -SwitchDaemon

  5. 输入“C:\ Program Files \ Docker \ Docker> docker version”命令,以确保已切换到Windows容器,它应该看起来像附加的屏幕截图 screenshot 根据最新的Docker桌面版本,您的设置应该如下所示 enter image description here

退出Docker Desktop,然后再次打开,希望对您有所帮助。


这对我有用,在使用任务栏图标菜单无法切换后。 - ekrall
也适用于我。 - error404

0

即使使用Altaf的方法,我也无法轻松切换它。最终,我去了服务(services.msc)并禁用了Docker桌面服务,并更新了docker服务(Docker Engine),以确保它可以自动启动(例如,确保daemon.json配置文件存在于与服务命令指定的位置相同的位置)。 然后,我可以通过在非管理员命令提示符中键入docker version来验证结果。

https://kontext.tech/article/1216/how-to-change-docker-data-root-path-on-windows-10#h-switch-to-windows-containers


看起来你的 Docker Desktop 应用程序没有正常工作,你是否按照这里 https://docs.docker.com/desktop/install/windows-install/ 中概述的要求启用了 WSL 2 和其他必要条件? - Altaf
是的,我启用了它,因为WSL2是我在Windows上的主要开发工具。 - Raymond Tang
根据最新的Docker Desktop版本,您的设置应该是这样的。 - Altaf

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