问题背景
在使用 Docker 时,你是否遇到过以下报错?
Unable to find image ‘mysql:latest’ locally
docker: Error response from daemon: Get “https://registry-1.docker.io/v2/”: dial tcp 128.242.250.155:443: i/o timeout.
这类问题通常是由于 Docker 默认的国外镜像源访问不稳定或速度过慢导致的。本文将手把手教你在 Windows 系统下配置 Docker 镜像加速源,彻底解决拉取镜像失败的问题!
解决方案
方法 1:通过 Docker Desktop 图形界面配置(推荐)
适合人群: 新手用户,偏好可视化操作
操作步骤:
打开 Docker Desktop 设置
右键点击任务栏右下角的 Docker 鲸鱼图标,选择 Settings。
或直接打开 Docker Desktop,点击右上角齿轮图标进入设置界面。
!https://via.placeholder.com/600x300?text=Docker+Desktop+Settings
配置镜像加速源
在左侧菜单中选择 Docker Engine 标签页。
在右侧的 JSON 配置框中,找到或添加 registry-mirrors 字段,填入以下国内镜像源(任选其一或多个):
"registry-mirrors": ["https://hub-mirror.c.163.com", // 网易镜像"https://mirror.baidubce.com", // 百度镜像"https://docker.mirrors.ustc.edu.cn", // 中科大镜像"https://docker.nju.edu.cn" // 南京大学镜像
}
保存并重启 Docker
点击右下角 Apply & Restart,等待 Docker 服务重启完成。
方法 2:手动修改配置文件
适合人群: 熟悉命令行操作或 Docker Desktop 不可用的情况
操作步骤:
定位配置文件路径
Windows 系统的 Docker 配置文件路径为:
%USERPROFILE%.docker\daemon.json
按下 Win + R,输入 %USERPROFILE%.docker 回车,快速打开文件夹。
编辑配置文件
使用文本编辑器(如 VS Code、Notepad++)打开 daemon.json 文件。
输入以下内容(若文件已存在,仅添加 registry-mirrors 字段):
"registry-mirrors": ["https://dockerproxy.com","https://docker.mirrors.sjtug.sjtu.edu.cn","https://mirror.aliyuncs.com" // 阿里云镜像(需替换为专属地址)
}
阿里云用户注意:需前往 https://cr.console.aliyun.com/ 申请专属加速地址。
重启 Docker 服务
右键点击任务栏 Docker 图标,选择 Restart。
验证配置是否生效
打开 PowerShell 或 CMD,执行命令:
docker info
在输出信息中查找 Registry Mirrors,确认已列出配置的镜像源地址。
!https://via.placeholder.com/600x200?text=Registry+Mirrors+Output
测试拉取镜像
重新运行拉取命令(以 MySQL 为例):
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:latest
此时镜像应能正常下载,且速度显著提升!
常见问题排查
镜像源失效
尝试更换其他镜像源(推荐优先使用中科大、南京大学镜像)。
阿里云镜像需使用https://cr.console.aliyun.com/。
网络或防火墙拦截
暂时关闭防火墙或 VPN 软件。
检查 DNS 设置(如改为 8.8.8.8 或 114.114.114.114)。
Docker 服务未正常启动
重启 Docker Desktop 或执行命令:
net stop com.docker.servicenet start com.docker.service