我在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/WSL来提取Windows映像。

请使用Powershell终端。

其他回答

我有同样的问题运行Windows IIS映像使用docker for Windows。读了上面Mohammad Trabelsi的回复,我意识到要解决我的问题,我需要把我的容器(在docker上)切换到Windows容器。

这样做:

右击Docker实例 选择“切换到Windows容器…”

看起来在windows 10 #1100中“docker pull”失败了

如果添加——experimental不起作用,考虑重新安装docker for windows。

右击Docker实例 进入设置 守护进程 先进的 设置“experimental”:true 重启码头工人

 {
      "registry-mirrors": [],
      "insecure-registries": [],
      "debug": true,
      "experimental": true
    }

对我来说,这是因为C:\ProgramData\Docker\config\daemon.json被拒绝访问 我把它修好了,现在可以用了。 您可以尝试切换到Linux容器,然后再切换回来。如果切换没有问题,那么它与访问权限一起工作。

以我为例,我使用的Windows操作系统版本不支持我试图拉出的标签。利用一个旧的标签让我可以让它工作。

具体地说:

Docker pull McR.microsoft.com/windows/nanoserver:1903错误

Docker拉McR.microsoft.com/windows/nanoserver:1803-amd64工作