必须存在、格式合法、内容正确且重启Docker服务才生效;常见失效原因是文件不存在、权限错误、JSON非法(如多逗号、少引号)、协议非HTTPS或镜像地址失效,验证需用docker info检查Registry Mirrors输出。

/etc/docker/daemon.json 必须存在、格式合法、内容正确,且重启 docker 服务后才真正生效——其他任何操作(比如改环境变量、临时加参数、只 reload systemd)都不起作用。
为什么改了 daemon.json 却没加速?
最常见原因是 Docker 根本没读到这个文件:/etc/docker/daemon.json 默认不存在,Docker 启动时静默跳过,不报错也不提示。你手动创建但权限不对、JSON 格式非法(比如末尾多逗号、URL 少双引号、以 / 结尾)、协议写成 http:// 而非 https://,都会导致配置被忽略。
验证方法:sudo docker info | grep -A 1 "Registry Mirrors" 输出为空,基本就是这个原因。
- 先确保目录存在:
sudo mkdir -p /etc/docker - 用
sudo tee写入,避免权限问题:sudo tee /etc/docker/daemon.json - 用在线 JSON 校验器(如 https://www.php.cn/link/d64586aec81f3bd874e98fa5e8b0b5e4)检查是否合法
registry-mirrors 该填哪些地址?
不是所有“国内镜像站”都同步全量镜像,有些已停更(如网易 hub-mirror.c.163.com),有些需登录获取专属链接(如阿里云地址形如 https://xxx.mirror.aliyuncs.com)。
2026 年 7 月实测仍公开可用、无需注册的地址:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
https://docker.xuanyuan.me(轩辕镜像,专线稳定) -
https://docker.1ms.run(毫秒镜像,低延迟) -
https://docker.m.daocloud.io(DaoCloud 新源) -
https://mirror.ccs.tencentyun.com(腾讯云,仅限其云内服务器最稳)
建议填 2–3 个,Docker 按数组顺序尝试,第一个不可用时自动 fallback;别堆太多,探测耗时反而拖慢首次拉取。
改完必须重启 docker,systemctl daemon-reload 没用
sudo systemctl daemon-reload 只重载 systemd unit 文件,对 daemon.json 完全无效。Docker 守护进程只在启动时读取该文件,运行中修改不生效。
- 生产环境首选:
sudo systemctl restart docker - 调试时可手动启停:
sudo pkill dockerd && sudo dockerd,但别在正式环境这么干 - 重启后验证:
sudo docker info | grep -A 1 "Registry Mirrors"应输出你填的地址 - 再看日志:
sudo journalctl -u docker --since "1 minute ago" | grep mirror应看到加载记录
红帽系(CentOS/RHEL/Rocky)安装后立即配置的坑
红帽系默认可能装了 podman,它会和 Docker 冲突;且系统仓库里的 Docker 版本往往过旧或缺失插件。
- 卸载旧组件:
sudo yum remove -y podman buildah - 禁用系统自带容器工具集,再配官方源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - 务必装全插件:
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - 安装完别急着拉镜像——先配
daemon.json、重启docker,否则大概率报connection refused
配置文件里如果同时设了 insecure-registries 或 data-root,得确保路径存在、权限可写,否则 docker 启动失败,systemctl status docker 会直接暴露问题。

















