Docker 配置国内镜像加速器阿里云腾讯云地址怎么填

文章导读
目前配置 Docker 国内镜像加速器最稳妥的方式,是登录云厂商控制台获取专属加速地址,再写入 Docker 守护进程配置文件中。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 参考来源
A A

目前配置 Docker 国内镜像加速器最稳妥的方式,是登录云厂商控制台获取专属加速地址,再写入 Docker 守护进程配置文件中。

先说结论:通过修改 daemon.json 配置 registry-mirrors 字段生效,不要直接复制网上过期的公共地址。

  • 适合:所有 Linux、Windows 及 macOS 上的 Docker 环境
  • 先准备:阿里云或腾讯云账号,用于控制台获取专属加速链接
  • 验收:执行 docker info 确认 Registry Mirrors 字段已更新

命令速用版

如果你已经拿到了专属加速地址,可以直接参考以下命令修改配置并重启服务。

# 1. 编辑配置文件(Linux 默认路径)
sudo vim /etc/docker/daemon.json

# 2. 写入以下内容(注意替换为你的实际地址)
{
  "registry-mirrors": ["https://你的专属地址.mirror.aliyuncs.com"]
}

# 3. 重载配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

为什么会这样

Docker 官方镜像仓库服务器主要位于海外,国内直接拉取时会经历较长的网络链路,导致 HTTPS 握手慢、传输中断或超时。国内云厂商提供的镜像加速器本质是在国内部署了 Registry 缓存节点,通过配置 Docker 守护进程,让拉取请求优先指向国内节点,从而减少网络延迟。

过去网上流传的一些公共加速地址(如某些通用域名)近期因合规和安全策略调整,可用性变得不稳定,部分已停止服务。因此,使用云厂商控制台生成的、与账号绑定的专属加速地址成功率更高。

分步处理

第一步:获取加速地址

登录阿里云容器镜像服务控制台或腾讯云容器服务控制台。在镜像加速器页面,系统会生成一个专属的 URL。该地址通常包含你的账号标识,不要随意分享给他人。

第二步:修改配置文件

在 Linux 系统中,配置文件通常位于/etc/docker/daemon.json。如果文件不存在,新建即可。注意 JSON 格式必须严格正确,键值对之间用逗号分隔,末尾不能有逗号。

Windows 或 macOS 用户需在 Docker Desktop 设置界面的 Docker Engine 选项卡中填入相同的 JSON 配置。

Docker 配置国内镜像加速器阿里云腾讯云地址怎么填

第三步:重启服务

修改配置后必须重启 Docker 服务才能生效。Linux 下使用systemctl restart docker。如果重启失败,请检查journalctl -u docker.service查看日志,常见原因是 JSON 语法错误。

怎么验证是否生效

执行以下命令查看 Docker 系统信息,找到Registry Mirrors字段。

docker info | grep -A 5 "Registry Mirrors"

如果输出中包含了你配置的加速地址,说明配置已加载。接着尝试拉取一个常用镜像测试速度。

docker pull hello-world

观察下载过程中的速度波动,国内节点通常能跑满本地带宽,且不会出现长时间停滞。

常见坑

1. JSON 语法错误:配置文件中多一个逗号或少一个引号都会导致 Docker 无法启动。修改前建议备份原文件。

2. 未重启服务:修改配置后直接拉取镜像,发现还是慢,是因为守护进程未重载配置。

3. 地址失效:部分免费加速地址可能有有效期或访问频率限制,如果突然变慢,需回到控制台确认地址状态。

4. HTTPS 要求:Docker 要求镜像仓库地址必须支持 HTTPS,配置 HTTP 地址会被拒绝,除非在 insecure-registries 中额外声明,但不建议这样做。

参考来源

  • 阿里云容器镜像服务文档,产品页帮助信息,https://help.aliyun.com/product/28009.html
  • 腾讯云容器服务文档,产品介绍页,https://cloud.tencent.com/document/product/382
  • Docker 官方文档,Configure the Docker daemon,https://docs.docker.com/engine/daemon/