【问题标题】:Trying to run a Windows Image on WSL Docker Desktop (image operating system "windows" cannot be used on this platform)尝试在 WSL Docker 桌面上运行 Windows 映像(无法在此平台上使用映像操作系统“windows”)
【发布时间】:2021-07-31 20:18:08
【问题描述】:

我正在尝试从 ECS 中提取图像。我从 WSL2 ubuntu 20.04 命令行执行此操作,并且安装了基于 WSL2 的引擎的 docker 桌面。 然后我有这个错误:图像操作系统“windows”不能在这个平台上使用。 我做了一些研究,我发现的解决方案是“切换到 Windows 容器”,但现在我遇到了一个新问题,我无法在我的发行版中运行 docker: “在此 WSL 2 发行版中找不到命令‘docker’。 我们建议在 Docker 桌面设置中激活 WSL 集成。” 我已经在设置中集成了 WSL。如果我切换回 Linux 容器,我没有问题。

我想知道是否有能够在该发行版中运行该图像的解决方案

谢谢

PS:对不起,如果我不清楚英语不是我的第一语言

【问题讨论】:

标签: windows docker windows-subsystem-for-linux docker-desktop


【解决方案1】:

所以看起来您的 windows 和处理通信的 wsl2 之间的符号链接已损坏。虽然很难说出您提供的信息。

您能否在 $which docker 和 symlink 的帮助下检查这些,并分享您当前使用的 docker 版本。

【讨论】:

  • 您好,谢谢您的回答我正在使用 Docker Desktop 版本 3.3.3 (64133) 对于来自 ubuntu 的符号链接,我有: - ./.azure -> /mnt/c/Users/Admin /.azure - ./.aws -> /mnt/c/Users/Admin/.aws - ./.docker/contexts -> /mnt/c/Users/Admin/.docker/contexts 我不确定是不是你要什么,我是 docker 新手,我是 Linux 的初学者现在我找到的解决方案是在我切换到“windows 容器”时在 powershell 而不是 ubuntu wsl 中运行命令
  • 如果它在 PowerShell 中工作,那么我们可以假设集成和链接存在一些问题。它与 WSL 的老问题。在 WSL 2 中,windows 提供了完整的 Linux 内核,而 WSL1 并非如此。如果你仍然想解决这个问题,我认为你可以参考这个问题,它可以给出想法。 github.com/docker/for-win/issues/7311
【解决方案2】:

您好,谢谢您的回答

我使用的是 Docker Desktop 版本 3.3.3 (64133)

对于来自 ubuntu 的符号链接,我有:

  • 40560 0 lrwxrwxrwx 1 tobyfintops tobyfintops 25 Apr 12 17:05 ./.azure -> /mnt/c/Users/Admin/.azure
  • 40558 0 lrwxrwxrwx 1 tobyfintops tobyfintops 23 Apr 12 17:05 ./.aws -> /mnt/c/Users/Admin/.aws
  • 40553 0 lrwxrwxrwx 1 tobyfintops tobyfintops 35 Apr 12 17:05 ./.docker/contexts -> /mnt/c/Users/Admin/.docker/contexts

我不确定这是否是您要求的,我是 docker 新手,我是 Linux 的初学者

目前我找到的解决方案是在我切换到“windows 容器”时在 powershell 而不是 ubuntu wsl 中运行命令

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 2019-09-02
    • 1970-01-01
    相关资源
    最近更新 更多