近期由于上级通知,各大国内Docker加速器全部关闭了,导致拉取镜像变得困难。这里介绍3种解决办法。请先删除之前配置的加速地址
借助Github和阿里云镜像仓库,转存镜像。
具体方法参考:https://www.bilibili.com/read/cv35249690/
👍 优点:无需服务器
👎 缺点:不灵活,只适合少量镜像下载场景
代理服务端具体安装步骤略,大家自行研究。
部署完代理服务器,只需要给Docker配置上代理链接即可
1.编辑配置文件 /lib/systemd/system/docker.service
,设置代理地址
# 在[Service]模块下添加
Environment=HTTP_PROXY=http://proxyAddress:port
Environment=HTTPS_PROXY=http://proxyAddress:port
Environment=NO_PROXY=localhost,127.0.0.1
2.重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
23.0
以上版本可以在 daemon.json
文件中配置代理,参考文档:https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
{
"proxies": {
"http-proxy": "http://proxy.example.com:3128",
"https-proxy": "https://proxy.example.com:3129",
"no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
👍 优点:之后拉取镜像走代理,一劳永逸
👎 缺点:需境外服务器,容器内可能也会走代理
教程1:https://mirrors.ustc.edu.cn/help/dockerhub.html
教程2:https://github.com/stilleshan/dockerfiles/tree/main/registry-proxy
我参考的教程2,一个容器搞定。
1.在境外机器上搭建加速器,我这里没有挂载存储出来,重启即可清理磁盘,更方便
docker run -d --restart always \
-p 5000:5000 \
-e PROXY_REMOTE_URL=https://registry-1.docker.io \
stilleshan/registry-proxy
2.境内机器上配置加速地址,和之前一样
# 编辑 /etc/docker/daemon.json,加入地址
{
"registry-mirrors": ["http://xxxxxxx:5000"]
}
👍 优点:换个加速器即可
👎 缺点:需境外服务器
注意:必须要域名,并且域名需要托管在Cloudflare,因为Cloudflare分配的.dev域名被墙了
项目地址:https://github.com/ImSingee/hammal
使用下来效果还不错,免费套餐每天100000请求,够用了
👍 优点:不用境外服务器,配置简单,换个加速器即可
👎 缺点:需要域名
这里整理了一些目前可用的地址,将地址配置到 /etc/docker/daemon.json
并重启docker服务即可