Windows Server 2019 通过DockerMsftProvider安装Docker失败如何解决
Windows Server 2019 安装Docker(非Docker Desktop)报错解决方案
该报错核心原因为DockerMsftProvider请求官方Docker索引文件时,流量被Cisco防火墙拦截,无法生成缓存的索引文件,导致后续下载参数为空,可按以下方案依次尝试:
方案1:手动补全缓存索引文件
- 首先在提权后的PowerShell中执行命令,创建缺失的缓存目录:
New-Item -Path "C:\Users\ADMINI~1\AppData\Local\Temp\4\DockerMsftProvider" -ItemType Directory -Force
- 通过可正常访问微软Docker源的设备获取
DockerDefault_DockerSearchIndex.json索引文件,上传到上述新建的目录中 - 重新执行安装命令即可:
Install-Package Docker -ProviderName DockerMsftProvider -Force
方案2:离线安装Docker(无需访问公网源)
- 提前获取适配Windows Server 2019的Docker稳定版离线zip包
- 提权PowerShell执行以下命令完成安装:
# 解压离线包到Docker默认安装目录 Expand-Archive -Path "本地Docker离线包完整路径.zip" -DestinationPath $env:ProgramFiles\Docker # 将Docker路径添加到系统环境变量 [Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:ProgramFiles\Docker", [EnvironmentVariableTarget]::Machine) # 注册Docker系统服务 & $env:ProgramFiles\Docker\dockerd --register-service # 启动Docker服务 Start-Service Docker
- 安装完成后执行
docker version验证服务运行状态
方案3:调整Cisco防火墙规则
- 你的Cisco防火墙默认拦截了Docker安装需要的微软、Docker官方域名的HTTPS请求,添加对应域名的放行规则后,重新执行原来的安装流程即可
内容的提问来源于stack exchange,提问作者midnightfm
相关产品推荐
相关产品推荐

