Docker 镜像源和代理配置
更新: 4/18/2025 字数: 0 字 时长: 0 分钟
Docker 国内镜像源
在拉取 Docker 镜像时,有时会遇到速度慢,甚至卡住不动的情况。
这通常是因为 Docker 默认的镜像源是 Docker Hub,由于地理位置原因,访问速度较慢。
就像 Ubuntu 更换国内软件源一样,我们可以为 Docker 配置国内镜像源,加速镜像下载。
以下是一些可用的 Docker 镜像仓库。
请注意,这些仓库的可用性和性能可能会有所不同。
建议尝试几个,找到最适合您所在地区的镜像源。
在使用前请务必确认这些镜像源是否仍然可用!
镜像仓库 | 状态 |
---|---|
docker.libk.top | 正常 |
hub.fast360.xyz | 正常 |
hub.rat.dev | 正常 |
hub.littlediary.cn | 正常 |
docker.kejilion.pro | 正常 |
dockerpull.cn | 正常 |
docker-0.unsee.tech | 正常 |
docker.tbedu.top | 正常 |
docker.1panelproxy.com | 正常 |
docker.melikeme.cn | 正常 |
cr.laoyou.ip-ddns.com | 正常 |
hub.firefly.store | 正常 |
docker.hlmirror.com | 正常 |
docker.m.daocloud.io | 正常 |
docker.1panel.live | 正常 |
image.cloudlayer.icu | 正常 |
docker.1ms.run | 新增 |
临时使用
对于单次拉取,您可以将镜像源 URL 添加到镜像名称的前面:
docker pull docker.libk.top/istio/distroless
此命令从 docker.libk.top
镜像源拉取 istio/distroless
镜像(不要带 https://
)
永久配置
此方法配置 Docker 始终使用您指定的镜像源。
编辑 Docker Daemon 配置文件:
Docker 的镜像源文件配置在
/etc/docker/daemon.json
处,如果没有的话我们就创建一个然后再修改bashsudo vim /etc/docker/daemon.json
添加镜像仓库:
将
"registry-mirrors"
数组添加到 JSON 配置中。选择几个镜像源以实现冗余(要带https://
)json{ "registry-mirrors": [ "https://docker.libk.top", "https://hub.fast360.xyz", "https://hub.rat.dev", "https://hub.littlediary.cn", "https://docker.kejilion.pro" ] }
重新加载并重启 Docker:
bashsudo systemctl daemon-reload #重启 daemon 进程 sudo systemctl restart docker #重启 docker
验证配置:
bashdocker info
在长串 info 信息中如果出现类似下文的内容:
txtRegistry Mirrors: https://docker.libk.top/ https://hub.fast360.xyz/ https://hub.rat.dev/ https://hub.littlediary.cn/ https://docker.kejilion.pro/
那就说明我们的 docker 国内镜像源修改成功了。
Docker 命令走代理
然而实际测试下来,就算我们修改成功了国内的镜像源,有时候由于国内镜像更新不及时,或者需要拉取的镜像比较冷门,只有域外镜像站才有,那么我们不得不让 docker pull
命令,走我们的代理。
创建 Docker Service 目录:
我们在 Docker 的进程服务文件夹配置我们的代理设置,如果没有我们就新建这个文件夹:
bashsudo mkdir /etc/systemd/system/docker.service.d
创建代理配置文件:
在
docker.service.d
文件夹里新建我们的代理文件proxy.conf
bashsudo vim /etc/systemd/system/docker.service.d/proxy.conf
配置代理:
将
HTTP_PROXY
和HTTPS_PROXY
环境变量添加到proxy.conf
文件中txt[Service] Environment="HTTP_PROXY=ip:port" Environment="HTTPS_PROXY=ip:port"
将
ip:port
替换为您的实际代理服务器地址和端口。重新加载并重启 Docker:
bashsudo systemctl daemon-reload #重启 daemon 进程 sudo systemctl restart docker #重启 docker
验证配置:
bashdocker info
在长串 info 信息中如果出现类似下文的内容:
txtHTTP Proxy: ip:port HTTPS Proxy: ip:port
那就说明我们已经成功设置
docker pull
命令走代理了,一般情况下也就不会出现拉取镜像卡死的情况了。