我在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
我该如何解决这个问题?
当前回答
你需要先使用Linux平台,然后才能在Windows上运行:
docker pull --platform linux php
docker run -it php
参见博文Docker for Windows Desktop 18.02 with Windows 10 Fall Creators Update。
其他回答
在Windows上,必须编辑文件守护进程。Json或windows-daemon-options。在Windows上,配置文件的默认位置是%programdata%\docker\config\daemon。Json或%programdata%\docker\resources\windows-daemon-options.json
json文件上的可选字段特性,允许用户启用或禁用特定的守护进程特性。示例:{" features":{"buildkit": true}}启用buildkit作为默认的docker映像构建器。
考虑一下您正在导入的应用程序——它们是基于Windows的吗? 如果不是,则需要运行Linux容器。
如果不使用实验模式,你只能在一种容器风格中使用Docker。 如果您像上面提到的那样激活实验模式,那么您可以根据在撰写文件中拉入的应用程序的需要使用Windows和Linux容器。
重点说明:实验性- Docker仍在开发中。
另一种可能的方法是:
在系统托盘中,右键单击docker图标,然后单击切换到Linux容器。
(Docker for Windows, Community Edition, version 18.03.1)
我在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
问题是我选择了托管的VS2017而不是托管的Ubuntu。在进行如下更改后,构建成功。
希望能有所帮助。
我在Windows 10上也遇到了同样的问题。我通过在实验模式下运行Docker守护进程来绕过它:
右键单击Windows系统托盘中的Docker图标 进入设置 守护进程 先进的 设置“experimental”:true 重启码头工人