我在Windows上使用Docker,当我尝试使用此命令提取PHP映像时
$ docker pull php
我收到此消息:
Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64
in the manifest list entries
我该如何解决这个问题?
我在Windows上使用Docker,当我尝试使用此命令提取PHP映像时
$ docker pull php
我收到此消息:
Using default tag: latest
latest: Pulling from library/php no matching manifest for windows/amd64
in the manifest list entries
我该如何解决这个问题?
Answers:
我在Windows 10上也有同样的问题。我通过在实验模式下运行Docker守护程序来绕过它:
"experimental": true
--experimental
功能运行停靠(守护程序)
您处于Windows容器模式。因此,如果不确定要提取的映像是否针对Windows体系结构构建的,则需要切换到Linux容器。
就我而言,原因是我所在的Windows操作系统版本不支持我尝试提取的标签。使用较旧的标签使我可以使用它。
特别:
docker pull mcr.microsoft.com/windows/nanoserver:1903
错误的
docker pull mcr.microsoft.com/windows/nanoserver:1803-amd64
工作了
您需要先使用Linux平台,然后才能在Windows上运行:
docker pull --platform linux php
docker run -it php
请参阅博客文章Docker for Windows Desktop 18.02,带有Windows 10 Fall Creators Update。
--platform
标志也适用。虽然它可能会重新下载内容。
我在Windows 10中通过在admin Powershell中运行来解决了这个问题:
cd "C:\Program Files\Docker\Docker"
然后:
./DockerCli.exe -SwitchDaemon
在Windows 10#1100中看起来像“ docker pull”失败
如果添加--experimental
不起作用,请考虑为Windows重新安装docker。
experimental
作品,谢谢...为什么会这样呢?
我在Azure DevOps管道中遇到此错误。
Step 1/7 : FROM nginx:alpine
alpine: Pulling from library/nginx
no matching manifest for windows/amd64 10.0.14393 in the manifest list entries
##[error]C:\Program Files\Docker\docker.exe failed with return code: 1
##[section]Finishing: Build an image
问题是我选择了Hosted VS2017而不是Hosted Ubuntu。进行如下更改后,构建成功。
希望能帮助到你。
docker运行mcr.microsoft.com/windows/servercore:ltsc2016
试试上面的命令。您要提取的内容应与您所在的基础Windows版本兼容。如果您在Windows Server 2016中,则上面的内容将起作用。
关注此主题以获取更多信息
弃用“最新”标签
我们不建议在所有Windows基本映像中使用“最新”标签,以鼓励更好的容器实践。 在2019日历年开始时,我们将不再发布代码 ;我们将从可用的标签列表中提取它。
我们强烈建议您声明要在生产中运行的特定容器标签。“最新”标签与specific相反。它没有告诉用户有关容器实际使用的版本(映像名称除外)的任何信息。您可以在容器文档中阅读有关版本兼容性和选择适当标签的更多信息。
https://techcommunity.microsoft.com/t5/containers/windows-server-2019-now-available/ba-p/382430#
我在使用适用于Windows的docker运行Windows IIS映像时遇到了相同的问题。阅读上面的Mohammad Trabelsi响应后,我意识到要解决我的问题,我需要在Windows容器上切换我的容器(在docker上)。
去做这个: