直接配置国内镜像加速器是解决Docker拉取超时最有效方法,核心三步:正确编辑/etc/docker/daemon.json(推荐填入https://docker.xuanyuan.me、https://docker.1ms.run、https://docker.m.daocloud.io)、执行systemctl daemon-reload和restart docker、用docker info验证生效。

直接配置国内镜像加速器是解决 Docker 拉取超时最有效、最常用的方法。核心动作就三步:写对 /etc/docker/daemon.json、重载服务、验证生效。只要路径、协议、格式、权限不出错,90% 的超时问题当场解决。
确认 Docker 状态并检查当前配置
先确保基础运行正常,再看有没有已有加速设置:
- 运行
systemctl is-active docker,返回 active 才说明服务在跑 - 执行
docker info | grep "Registry Mirrors",如果输出为空或显示[],说明还没配加速源 - 顺手检查下 DNS 是否通:运行
nslookup registry-1.docker.io,能快速返回 IP 就没问题;若卡住或失败,后面可单独加 DNS 配置
编辑 daemon.json 添加国内镜像源
推荐用终端操作,避免宝塔等图形界面因权限或路径导致保存失败:
- 创建目录并编辑配置:
sudo mkdir -p /etc/docker && sudo nano /etc/docker/daemon.json - 填入以下内容(2026 年实测稳定、免注册、全平台兼容的组合):
-
必须注意:每条地址以
https://开头,末尾不加/;多个地址用英文逗号分隔;整个 JSON 要合法(可用sudo jq . /etc/docker/daemon.json快速校验) - 不要只填一个源——单点故障风险高,2026 年已有多起高校源短时同步延迟案例
重载配置并验证是否生效
改完文件不能只重启 Docker,必须先重载 systemd 配置:
- 依次执行:
sudo systemctl daemon-reload→sudo systemctl restart docker - 验证是否加载成功:
docker info | grep "Registry Mirrors" -A 1,应清晰看到你刚填的三个域名 - 最后试拉一个镜像:
docker pull ubuntu:22.04,明显变快且无 timeout 报错即成功
仍失败?加 DNS 或临时代理兜底
如果加速器配了还是卡在 TLS 握手或域名解析,说明宿主机 DNS 不可靠:
- 在
daemon.json中追加"dns": ["8.8.8.8", "1.1.1.1"]字段,然后再次daemon-reload + restart - 企业内网有代理时,可建
/etc/systemd/system/docker.service.d/http-proxy.conf,写入http_proxy和https_proxy环境变量 - 紧急测试可用临时命令:
docker pull docker.xuanyuan.me/library/nginx:alpine,绕过全局配置直连加速源











