清单列表条目中 windows/amd64 10.0.16299 没有匹配的清单 拉取 hello-world 图像时出错

no matching manifest for windows/amd64 10.0.16299 in the manifest list entries error on pulling hello-world image

我已经在 windows 10 上安装了 docker 并针对 windows 容器进行了配置。我无法切换到 linux 容器。它抛出一些异常。

当我拉取 hello-world 图像时,它给出了 "no matching manifest for windows/amd64 10.0.16299 in the manifest list entries" 消息。这个错误是什么意思?我也试过实验模式。我在堆栈溢出时找到了这个解决方案。我也尝试为 windows 重新安装 docker,但没有成功。

谁能帮我解决这个问题?

"no matching manifest" 错误发生在找不到该特定图像时(例如,openjdk:8 存在但 openjdk:69 会导致抛出该错误,因为它不存在) .

hello-world 映像 确实 存在于 Docker 集线器上,但对于某些计算机(例如,您的 Windows AMD)不存在。在此类计算机上使用的替代 hello-world 图像是 docker/surprise (运行 docker run --rm -it docker/surprise)。

应该针对此警告更新文档,因为 docker --versiondocker run hello-world 都应该证明您已成功设置 Docker。只知道在这种情况下您应该使用 docker/surprise 图像。

我认为这与您的实际 PC 有关,我的意思是您可能使用的是 AMD 处理器。

就我而言,我在 AMD 处理器上使用 Windows Server 2016。 Docker 为 Windows 服务器用户提供了另一个名为 Docker Enterprise Engine(简称 EE)的版本,供 Docker EE 用户使用AMD,他们应该试试这个:

docker run hello-world:nanoserver-sac2016

此错误表明您的主机 OS 与您尝试提取的 OS docker 图像不兼容。参见 Windows container version compatibility

例如,如果你是运行 Windows 10 1809 在你的主机OS,你不能拉mcr.microsoft.com/windows:1909。但是你当然可以拉 mcr.microsoft.com/windows:1809

例如docker run mcr.microsoft.com/windows:1809

docker-compose up 使用 docker-compose.yml 文件:

version: "3"
services:
  myWin:
    image: mcr.microsoft.com/windows:1809
    networks:
      - myNet

networks:
  myNet:
    driver: nat