我在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

我该如何解决这个问题?


当前回答

另一种可能的方法是:

在系统托盘中,右键单击docker图标,然后单击切换到Linux容器。

(Docker for Windows, Community Edition, version 18.03.1)

其他回答

我在Windows 10上也遇到了同样的问题。我通过在实验模式下运行Docker守护进程来绕过它:

右键单击Windows系统托盘中的Docker图标 进入设置 守护进程 先进的 设置“experimental”:true 重启码头工人

我在开始学习docker时遇到过这个错误,我对这个场景的理解如下:

为什么你提到这个问题: 因为你引用的是基于Linux的镜像,而你目前使用的是基于windows的平台来运行/构建docker镜像。

解决方法: 简单的回答:要么将当前平台切换到Linux模式,要么拉出基于windows的映像。 以下是可能的选项:

切换到Linux容器,因为错误是“没有匹配清单for windows/amd64” 设置docker环境为“experimental”:true。 提取特定于平台的图像 例如:docker pull——platform {linux/Windows} {image-name}

你需要先使用Linux平台,然后才能在Windows上运行:

docker pull --platform linux php
docker run -it php

参见博文Docker for Windows Desktop 18.02 with Windows 10 Fall Creators Update。

我在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

步骤1:右键单击Docker实例并进入设置

步骤2:基本到高级,并设置“实验”:true

步骤3:重启Docker

步骤4:安装dockerfile成功(例如:docker build -t williehao/cheers2019)