唯一生效方式是配置 /etc/docker/daemon.json,docker 忽略环境变量和命令行参数中的镜像源;该文件默认不存在,须手动创建并写入合法 json 格式的 registry-mirrors 数组,地址必须为完整 https 协议,配置后需重启 docker 服务并用 docker info 验证。

配置 /etc/docker/daemon.json 是唯一生效方式
Docker 不读取环境变量或命令行参数里的镜像源,所有 registry 镜像加速配置必须写入 /etc/docker/daemon.json,否则 docker pull 仍走默认的 Docker Hub(https://index.docker.io/v1/),国内用户大概率超时或卡住。
该文件默认不存在,需手动创建;若已存在,切勿直接覆盖,应只修改 "registry-mirrors" 字段。常见错误是把镜像地址写成 http://(会被忽略)或漏掉 https:// 前缀。
sudo mkdir -p /etc/dockersudo touch /etc/docker/daemon.json- 用
sudo vi /etc/docker/daemon.json写入合法 JSON,例如:
{ "registry-mirrors": ["https://6ky1rlpr.mirror.aliyuncs.com", "https://mirrors.tencent.com"] }
注意:数组里每个地址必须是完整 HTTPS URL,末尾不加斜杠;多个镜像源会按顺序尝试,但实际只用第一个有效源。
阿里云、腾讯云、清华源镜像地址怎么选
不同镜像源稳定性与延迟差异明显,不能随便复制粘贴一个就用。优先级建议:阿里云(全网覆盖好) > 腾讯云(腾讯云服务器首选) > 清华源(教育网友好)。避免使用已失效或未维护的镜像地址(如 https://registry.docker-cn.com 自 2023 年起已不可用)。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- 阿里云最新可用地址(2026 年实测):
https://<strong>your-region</strong>.mirror.aliyuncs.com,其中your-region可替换为bj(北京)、sh(上海)、hz(杭州)等,也可直接用泛域名https://6ky1rlpr.mirror.aliyuncs.com - 腾讯云镜像地址:
https://mirrors.tencent.com(无需地域后缀) - 清华源(仅限教育网或北方联通用户):
https://mirrors.tuna.tsinghua.edu.cn/docker-images—— 注意:这个地址必须配合"registry-mirrors"使用,且不能带路径后缀,正确写法是"https://mirrors.tuna.tsinghua.edu.cn"
systemctl restart docker 后没生效?检查这三点
重启服务后 docker info | grep -A 1 'Registry Mirrors' 仍为空,说明配置未加载。不是“没重启”,而是配置本身被 Docker 守护进程拒绝了。
- JSON 格式错误:多逗号、少引号、中文标点 —— 用
sudo jq . /etc/docker/daemon.json验证(若无 jq,先sudo yum install -y jq) - 文件权限不对:
sudo chown root:root /etc/docker/daemon.json && sudo chmod 644 /etc/docker/daemon.json,Docker 守护进程只读 root 权限文件 - 有其他配置冲突:比如同时存在
"insecure-registries"但值为空数组或格式非法,会导致整个 daemon.json 加载失败
验证是否生效最直接的方式是执行 sudo docker info,看输出中 Registry Mirrors: 行是否列出你配置的地址。
私有 Registry 和镜像加速能共存吗
可以,但必须分开配置:"registry-mirrors" 只影响对公共仓库(如 Docker Hub)的拉取行为;"insecure-registries" 或 "registry-mirrors" 里填私有地址(如 https://docker-registry.example.com)是无效的 —— 私有 Registry 必须显式指定域名,例如 docker pull docker-registry.example.com/myapp:latest。
- 若私有 Registry 使用 HTTP(非 HTTPS),必须加到
"insecure-registries"数组里,否则docker login或pull直接报错http: server gave HTTP response to HTTPS client -
"registry-mirrors"对私有 Registry 完全不起作用,它只代理对https://index.docker.io/v1/的请求 - 混用场景示例:拉取官方镜像走阿里云加速,推送到公司内网 Registry 则直连,两者互不干扰
真正容易被忽略的是:镜像加速器只改拉取路径,不改认证逻辑。如果你在 daemon.json 里写了镜像源,但又对某个私有 Registry 执行了 docker login,那登录态仍然只对那个 Registry 生效,不会自动透传给镜像加速器。










