我已经在Windows 10上安装了docker,并配置了Windows容器。我无法切换到linux容器。它引发了一些异常。
当我拉出hello-world映像时,它给出了“清单列表条目中Windows / amd64 10.0.16299没有匹配的清单”消息。这个错误是什么意思?我也尝试了实验模式。我在堆栈溢出时发现了这个解决方案。我也尝试过为Windows重新安装docker,但没有运气。
有人可以帮我吗?
答案 0 :(得分:1)
当找不到特定图像时(例如,openjdk:8
存在但openjdk:69
会因为该错误不存在而导致抛出该错误),就会发生“无匹配清单”错误。 / p>
hello-world
映像确实存在于Docker Hub上,但不适用于某些计算机(例如Windows AMD)。在此类计算机上使用的备用hello-world
映像为docker/surprise
(运行docker run --rm -it docker/surprise
)。
此警告应该更新文档,因为docker --version
和docker run hello-world
都应证明您已经成功设置了Docker。只知道在这种情况下您应该使用docker/surprise
图片。
答案 1 :(得分:0)
我认为这与您的实际PC有关,我的意思是您可能正在使用AMD处理器。
就我而言,我在AMD处理器上使用 Windows Server 2016 。 Docker为Windows Server用户提供了另一个名为 Docker Enterprise Engine (简称EE)的版本,对于AMD上的Docker EE用户,他们应该尝试以下操作:
docker run hello-world:nanoserver-sac2016
答案 2 :(得分:0)
此错误表示您主机的操作系统与您要拉取的OS docker映像不兼容。参见Windows container version compatibility
例如,如果您在主机操作系统上运行Windows 10 1809,则无法拉出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