在国内通过 Docker 官方源(Docker Hub)拉取镜像时,下载速度可能较慢。配置国内镜像源(又称镜像加速器)是提升下载速度最直接有效的方法。下面为你详细介绍配置方法和常见选项。

🔧 配置国内镜像源

配置国内镜像源的核心步骤是修改 Docker 的守护进程配置文件。以下是具体操作:

  1. 编辑配置文件
    创建或修改 Docker 的配置文件 /etc/docker/daemon.json。如果文件已存在,请在 “registry-mirrors” 数组中添加新的镜像源地址;如果不存在,直接创建新文件。
    你可以使用 sudo nano /etc/docker/daemon.json 命令进行编辑。

  2. 写入镜像源地址
    将你选择的国内镜像源地址添加到配置文件中。例如,同时配置多个常用源:
    {
    “registry-mirrors”: [
    “https://docker.1ms.run”,
    “https://hub-mirror.c.163.com”,
    “https://mirror.baidubce.com”,
    “https://docker.mirrors.ustc.edu.cn”
    ]
    }

  3. 重启 Docker 服务
    保存并关闭配置文件后,需要重新加载配置并重启 Docker 服务才能使更改生效。
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    docker info | grep -A 5 “Registry Mirrors”

一、直接能用的国外 Docker 镜像源(优先用)

1)官方/大厂类(最稳)

  • Docker Hub 官方
    https://hub.docker.com(原生,国外网络正常时最快)
  • Azure 海外镜像
    https://mirror.azure.cn/(微软全球 CDN,国内也能用,国外更快)
  • GitHub Container Registry(GHCR)
    https://ghcr.io(国外稳定,很多项目已迁到这)

2)海外公共加速源(免费、不限量)

  • 德国(docker.imgdb.de)
    https://docker.imgdb.de
  • 美国/全球 CDN(docker.1ms.run)
    https://docker.1ms.run
  • 全球多节点(dockerproxy.com)
    https://dockerproxy.com(能代理 docker.io、gcr.io、k8s.gcr.io)
  • jsdelivr 全球反向代理(免费)
    https://dockercf.jsdelivr.fyi
    https://docker.jsdelivr.fyi

3)k8s/云原生常用国外源

  • https://quay.io(RedHat 系,国外很稳)
  • https://gcr.io(Google 容器,需要国际网)
  • https://registry.k8s.io(K8S 官方)

二、国外机器直接配置(daemon.json)

sudo nano /etc/docker/daemon.json

写入(纯海外源,适合你现在要拉 redis:7-alpine):

{
  "registry-mirrors": [
    "https://docker.imgdb.de",
    "https://docker.1ms.run",
    "https://dockerproxy.com",
    "https://dockercf.jsdelivr.fyi"
  ]
}

保存退出:Ctrl+O→回车→Ctrl+X

重启生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

验证:

docker info | grep -A5 Mirrors

三、只临时拉 redis 用(一行命令)

不想改全局配置,可临时指定源拉取:

docker pull docker.imgdb.de/library/redis:7-alpine
docker tag docker.imgdb.de/library/redis:7-alpine redis:7-alpine

更多推荐