Windows Server 2016安装启动Docker及拉取容器镜像失败问题咨询
问题关联性确认
- 安装阶段的
Install-Package报错确实和DockerDefault包源未受信任直接相关,未受信任的包源会导致Provider无法正常拉取索引文件、解析下载地址,直接触发你遇到的JSON文件不存在、downloadURL为空的报错 - 后续Docker Engine无法启动、找不到
//./pipe/docker_engine的问题和包源信任状态无关,通常是安装过程中文件缺失、服务注册异常、或者Windows Server 2016的内核版本和安装的Docker版本不匹配导致
包源设置为受信任操作步骤
使用管理员权限启动PowerShell,依次执行以下命令:
- 先确认包源名称准确
Get-PackageSource
确认返回结果中的包源名称确实为ContainerImageGallery、DockerDefault - 设置DockerDefault为受信任
Set-PackageSource -Name DockerDefault -Trusted - 设置ContainerImageGallery为受信任
Set-PackageSource -Name ContainerImageGallery -Trusted - 验证设置结果
Get-PackageSource
返回结果中两个包源的Trusted属性会显示为True
Docker服务启动失败修复方案
你已确认容器功能、TLS 1.2、执行策略均正常的前提下,按以下步骤操作即可解决:
- 卸载当前异常的Docker版本
Uninstall-Package -Name Docker -ProviderName DockerMsftProvider -Force - 清空DockerMsftProvider本地缓存
Remove-Item -Path "C:\Users\$env:USERNAME\AppData\Local\Temp\DockerMsftProvider\" -Recurse -Force -ErrorAction SilentlyContinue - 安装适配Windows Server 2016的Docker版本
Install-Package -Name Docker -ProviderName DockerMsftProvider -RequiredVersion 20.10.9 -Force
Windows Server 2016最高兼容的Docker CE稳定版本为20.10.9,安装更高版本会触发兼容问题导致服务无法启动
- 重启服务器后执行
Get-Service Docker即可看到服务处于正常运行状态,后续docker version、docker pull等命令均可正常执行
内容的提问来源于stack exchange,提问作者Art
相关产品推荐
相关产品推荐

