我在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
我该如何解决这个问题?
当前回答
看起来在windows 10 #1100中“docker pull”失败了
如果添加——experimental不起作用,考虑重新安装docker for windows。
其他回答
在我升级Docker Desktop(之前配置了WSL2集成)后,我就遇到了这种情况。
如果你在升级后遇到这种情况,仅供参考,我必须做以下工作:
以管理员(提升)模式运行PowerShell,执行如下命令:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
如果你不这样做,你可能无法打开Docker Desktop上的Settings选项卡。
然后,您需要在设置中切换到Linux容器(通过取消勾选“使用基于WSL2的引擎”),然后重新启动。
在这一点上,只需运行一个快速测试,下载一个图像并运行一个容器,看看是否解决了问题:
docker run --rm -ti alpine:latest uname -a
Linux 2b08b155a042 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 Linux
从那里,如果您正在运行WSL2集成,只需返回到Settings屏幕并撤消我们在第2步中所做的选择(这将重新启动docker)。
此时,您将看到升级之前的所有映像和停止的容器。
看起来在windows 10 #1100中“docker pull”失败了
如果添加——experimental不起作用,考虑重新安装docker for windows。
更新为Windows 10 20H2
转到Docker配置 进入Docker Engine选项卡 将行“experimental”:false更改为“experimental”:true 使用应用&重启按钮重新启动Docker
你也可以手动修改配置文件,用你最喜欢的代码编辑器打开它(可视代码,notepad++…),例如:
# BACKUP Your file with PowerShell
Copy-Item -Path C:\ProgramData\Docker\config\daemon.json -Destination C:\ProgramData\Docker\config\daemon.json.backup
# Open the file with Visual Code
code C:\ProgramData\Docker\config\daemon.json
或者直接用Powershell更改字符串
# Set Path in variable
$FILE = "C:\ProgramData\Docker\config\daemon.json"
# Replace '"experimental": false' to '"experimental": true'
(Get-Content -Path $FILE) -replace '"experimental": false','"experimental": true' | Set-Content -Path $FILE
# Check the file content
type $FILE
输出示例
PS C:\WINDOWS\system32> type $FILE
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": false,
"experimental": true
}
在您需要重新启动Docker守护进程后
PS C:\WINDOWS\system32> Restart-Service docker
检查服务状态
PS C:\WINDOWS\system32> Get-Service docker
Status Name DisplayName
------ ---- -----------
Running docker Docker Engine
在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容器上!
现在所有的Node.Js docker映像都是不可拉的。总是检查你要拉之前的图像。
相关Github-Issue