我在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上,必须编辑文件守护进程。Json或windows-daemon-options。在Windows上,配置文件的默认位置是%programdata%\docker\config\daemon。Json或%programdata%\docker\resources\windows-daemon-options.json

json文件上的可选字段特性,允许用户启用或禁用特定的守护进程特性。示例:{" features":{"buildkit": true}}启用buildkit作为默认的docker映像构建器。

其他回答

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

这样做:

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

显示此消息的原因是无法找到正在运行的Linux容器。因此,在运行它之前,请确保从windows容器切换到linux容器。

这可能不仅仅发生在windows容器上!

现在所有的Node.Js docker映像都是不可拉的。总是检查你要拉之前的图像。

相关Github-Issue

弃用' latest '标签

为了鼓励更好的容器实践,我们在所有Windows基映像中都弃用' latest '标签。在2019日历年年初,我们将不再发布标签;我们将从可用标记列表中删除它。

我们强烈建议您声明希望在生产环境中运行的特定容器标记。“latest”标签是specific的反义词;除了图像名称,它不会告诉用户容器实际是什么版本。你可以阅读更多关于版本兼容性和选择适当的标签在我们的容器文档。

https://techcommunity.microsoft.com/t5/containers/windows-server-2019-now-available/ba-p/382430#

版本:Windows 10

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

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

步骤3:重启Docker

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