在国内通过 Docker 官方源(Docker Hub)拉取镜像时,下载速度可能较慢。配置国内镜像源(又称镜像加速器)是提升下载速度最直接有效的方法。下面为你详细介绍配置方法和常见选项。
🔧 配置国内镜像源
配置国内镜像源的核心步骤是修改 Docker 的守护进程配置文件。以下是具体操作:
-
编辑配置文件
创建或修改 Docker 的配置文件 /etc/docker/daemon.json。如果文件已存在,请在 "registry-mirrors" 数组中添加新的镜像源地址;如果不存在,直接创建新文件。
你可以使用 sudo nano /etc/docker/daemon.json 命令进行编辑。
-
写入镜像源地址
将你选择的国内镜像源地址添加到配置文件中。例如,同时配置多个常用源:
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
-
重启 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)
bash
sudo nano /etc/docker/daemon.json
写入(纯海外源,适合你现在要拉 redis:7-alpine):
json
{
"registry-mirrors": [
"https://docker.imgdb.de",
"https://docker.1ms.run",
"https://dockerproxy.com",
"https://dockercf.jsdelivr.fyi"
]
}
保存退出:Ctrl+O→回车→Ctrl+X
重启生效:
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
验证:
bash
docker info | grep -A5 Mirrors
三、只临时拉 redis 用(一行命令)
不想改全局配置,可临时指定源拉取:
bash
docker pull docker.imgdb.de/library/redis:7-alpine
docker tag docker.imgdb.de/library/redis:7-alpine redis:7-alpine