You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Docker无法拉取SQL Server镜像求助

问题描述

在Windows系统运行Docker Desktop(版本4.25.0)执行docker pull mcr.microsoft.com/mssql/server:2022-latest时,出现超时错误:

Error response from daemon: Get "https://mcr.microsoft.com/v2/":
net/http: request canceled while waiting for connection
(Client.Timeout exceeded while awaiting headers)

已知信息:

  • Docker组件版本:Engine 24.0.6、Compose v2.23.0-desktop.1、Credential Helper v0.7.0、Kubernetes v1.28.2
  • 可正常执行docker pull nginx和docker run hello-world
  • 未使用代理/VPN,防火墙和杀毒为Windows默认设置,host文件已清空无效
解决方案

1. 测试MCR地址的网络连通性

打开PowerShell执行命令,验证网络能否正常访问MCR的443端口:

Test-NetConnection mcr.microsoft.com -Port 443

若返回tcp测试成功,说明网络层面连通;若失败,尝试切换网络(如手机热点)排查运营商屏蔽问题。

2. 添加Docker镜像加速地址

MCR在国内访问可能不稳定,配置国内镜像加速:

  1. 打开Docker Desktop设置,进入Docker Engine选项卡
  2. 在配置JSON中添加镜像加速节点,示例:
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
  1. 点击Apply & Restart重启Docker,再尝试拉取镜像。

3. 重置Docker网络配置

  1. 进入Docker Desktop设置的Resources -> Network页面
  2. 点击Reset to factory defaults重置网络
  3. 重启Docker后重新执行拉取命令。

4. 指定Docker的DNS服务器

替换系统默认DNS,解决解析异常:

  1. 在Docker Engine配置中添加DNS设置:
{
  "dns": ["8.8.8.8", "1.1.1.1"]
}
  1. 重启Docker后重试拉取。

5. 确认防火墙放行Docker

  1. 打开Windows Defender防火墙,进入允许应用通过防火墙
  2. 找到Docker Desktop相关条目,确保专用和公用网络均已勾选
  3. 若无该条目,点击更改设置 -> 允许其他应用,手动添加Docker主程序(默认路径:C:\Program Files\Docker\Docker\Docker Desktop.exe)

内容的提问来源于stack exchange,提问作者Kywillis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:46:07