一、问题根因分析Docker 镜像拉取流程默认情况下Docker 会从Docker Hubdocker.io拉取镜像。由于 Docker Hub 在国内访问速度不稳定很多教程会教大家配置国内镜像加速器Registry Mirror。你的 Docker → 镜像源 A你配置的 registry-mirrors → 镜像源 A 去 docker.io 拉取并缓存 → 返回给你二、正确的镜像源配置方法2.1打开 Docker Engine 配置文件Windows / macOSDocker Desktop右键点击任务栏右下角的 Docker 图标选择Settings设置左侧菜单点击Docker Engine右侧会显示一个 JSON 编辑器Linux直接编辑文件bashsudo vi /etc/docker/daemon.json2.2推荐的国内镜像源列表镜像源地址稳定性备注DaoCloudhttps://docker.m.daocloud.io⭐⭐⭐⭐公网可访问推荐Docker Proxyhttps://dockerproxy.com⭐⭐⭐⭐速度较快网易https://hub-mirror.c.163.com⭐⭐⭐老牌偶有不稳定百度https://mirror.baidubce.com⭐⭐⭐百度云用户友好阿里云https://你的ID.mirror.aliyuncs.com⭐⭐⭐⭐⭐需要登录阿里云容器镜像服务获取专属地址⚠️阿里云镜像源需要个人专属地址获取方式登录 cr.console.aliyun.com → 左侧「镜像加速器」→ 复制你的专属地址2.3完整配置示例Docker Desktop在Docker Engine的 JSON 编辑器中填入以下内容已有配置请合并不要直接覆盖json{ builder: { gc: { defaultKeepStorage: 20GB, enabled: true } }, experimental: false, features: { buildkit: true }, registry-mirrors: [ https://docker.m.daocloud.io, https://dockerproxy.com, https://hub-mirror.c.163.com ], insecure-registries: [] }2.4保存并重启点击右下角Apply Restart等待 Docker 重启完成任务栏图标变绿或 Docker Desktop 显示Engine running重启过程约 10~30 秒三、验证配置是否生效3.1查看当前生效的镜像源bashdocker info在输出中找到这一段Registry Mirrors: https://docker.m.daocloud.io/ https://dockerproxy.com/ https://hub-mirror.c.163.com/能看到你配置的地址说明生效了 ✅3.2实际拉取测试bash# 拉一个常见镜像测试速度 docker pull python:3.12-slim如果能在 1~3 分钟内完成说明镜像加速正常工作。四、常见问题 FAQQ1配置了镜像源还是很慢可能原因镜像源本身不稳定换一个试试镜像源不支持你要拉的具体镜像有些镜像源只缓存热门镜像你的网络本身有问题尝试ping docker.m.daocloud.io解决方法多配几个镜像源Docker 会按顺序尝试jsonregistry-mirrors: [ https://docker.m.daocloud.io, https://dockerproxy.com, https://hub-mirror.c.163.com, https://mirror.baidubce.com ]Q2公司网络有 HTTP 代理怎么配置在 Docker Desktop 的Resources → Proxies里配置HTTP Proxy: http://你的代理地址:端口 HTTPS Proxy: http://你的代理地址:端口或者在~/.docker/config.json里配置json{ proxies: { default: { httpProxy: http://127.0.0.1:7890, httpsProxy: http://127.0.0.1:7890, noProxy: localhost,127.0.0.1 } } }Q3daemon.json配置错了Docker 启动不了Linux 上修复bash# 还原配置文件 sudo vi /etc/docker/daemon.json # 删掉错误内容恢复为 {} 后保存 sudo systemctl restart dockerWindows / macOS 修复右键 Docker 图标 →Troubleshoot→Reset to factory defaults这会重置所有配置但能解决配置错误导致的启动失败五、完整的daemon.json参考模板json{ registry-mirrors: [ https://docker.m.daocloud.io, https://dockerproxy.com, https://hub-mirror.c.163.com ], insecure-registries: [], experimental: false, features: { buildkit: true }, builder: { gc: { defaultKeepStorage: 20GB, enabled: true } }, log-driver: json-file, log-opts: { max-size: 100m, max-file: 3 }, storage-driver: overlay2 }