解决Docker镜像无法拉取问题
Docker镜像无法拉取问题
解决目前Docker Hub国内无法访问方法汇总
近期以来,自2024年5月中旬,著名Docker 容器平台: http://hub.docker.com 不知为何,均无法正常访问了。
这样对国内服务器拉取Docker镜像的影响比较大,不过国内有一些Docker Hub镜像平台,可以用一部分。
下面大概介绍一下。
配置镜像
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn", "http://hammal.staronearth.win/", "http://hub.staronearth.win/" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
主要是这两个比较好使,建议可以增加一下:
http://hub.staronearth.win http://hammal.staronearth.win
我配置之后,拉了一下 基本没什么问题。
内容参考如下:
汇总国内可用镜像
DaoCloud 镜像站
加速地址:https://docker.m.daocloud.io
支持:Docker Hub、GCR、K8S、GHCR、Quay、NVCR 等
对外免费:是
网易云
加速地址:https://hub-mirror.c.163.com
支持:Docker Hub
对外免费:是
Docker 镜像代理
加速地址:https://dockerproxy.com
支持:Docker Hub、GCR、K8S、GHCR
对外免费:是
百度云
加速地址:https://mirror.baidubce.com
支持:Docker Hub
对外免费:是
南京大学镜像站
加速地址:https://docker.nju.edu.cn
支持:Docker Hub、GCR、GHCR、Quay、NVCR 等
对外免费:是
上海交大镜像站
加速地址:https://docker.mirrors.sjtug.sjtu.edu.cn/
支持:Docker Hub、GCR 等
限制:无
阿里云
加速地址:https://<your_code>.mirror.aliyuncs.com
支持:Docker Hub
限制:需要登录账号获取CODE
科大镜像站
加速地址:https://docker.mirrors.ustc.edu.cn
支持:Docker Hub、GCR、Quay
限制:仅供内部访问
Azure中国镜像
加速地址:https://dockerhub.azk8s.cn
支持:Docker Hub、GCR、Quay
限制:仅供内部访问
失效关闭
七牛云
加速地址:https://reg-mirror.qiniu.com
支持:Docker Hub、GCR、Quay
限制:已关闭
Docker 中国官方镜像
加速地址:https://registry.docker-cn.com
支持:Docker Hub
限制:已关闭
其他方式
对于一些比较热门Docker仓库,国内加速镜像更新还算及时。毕竟大厂们免费提供镜像服务,有挺大的成本。不会全量缓存Docker Hub仓库,以及镜像更新不及时!
最快速及时的方式直接请求 http://hub.docker.com 获取docker仓库。
haochuang—-2024年6月12日19:21:42更新
另外,有开源技术同学已经自己搭建了镜像站,有兴趣的话,可以参考:https://mp.weixin.qq.com/s/maonWv7Yj7F-zm8g-n4i8A 自行搭建或者实践。
Github仓库地址:https://github.com/kubesre/docker-registry-mirrors
部署步骤:
# 1. 拉取代码 $ git clone https://github.com/wzshiming/crproxy.git $ cd crproxy/examples/default # 2. 修改网关域名 使用vim编辑start.sh文件,将第五行的gateway变量值修改为你自己设定的域名。 # 3. 启动服务 $ ./start.sh # 4. 拉取镜像示例 如果域名为kubesre.xyz,可以通过添加前缀的方式拉取镜像 $ docker pull kubesre.xyz/k8s.gcr.io/coredns/coredns:v1.8.6 # 5. 设置别名 如果需要使用前缀替换方式拉取镜像,需要执行setup-alias.sh脚本,并为别名申请证书。 # 6. 重启服务 $ ./reload.sh
添加常用镜像仓库别名
设置环境变量:
GETEWAY=kubesre.xyz # 替换成自己的域名
添加别名:
./setup-alias.sh l5d.${GETEWAY} cr.l5d.io ${GETEWAY} ./setup-alias.sh elastic.${GETEWAY} docker.elastic.co ${GETEWAY} ./setup-alias.sh docker.${GETEWAY} docker.io ${GETEWAY} ./setup-alias.sh gcr.${GETEWAY} gcr.io ${GETEWAY} ./setup-alias.sh ghcr.${GETEWAY} ghcr.io ${GETEWAY} ./setup-alias.sh k8s-gcr.${GETEWAY} k8s.gcr.io ${GETEWAY} ./setup-alias.sh k8s.${GETEWAY} registry.k8s.io ${GETEWAY} ./setup-alias.sh mcr.${GETEWAY} mcr.microsoft.com ${GETEWAY} ./setup-alias.sh nvcr.${GETEWAY} nvcr.io ${GETEWAY} ./setup-alias.sh quay.${GETEWAY} quay.io ${GETEWAY} ./setup-alias.sh jujucharms.${GETEWAY} registry.jujucharms.com ${GETEWAY} ./setup-alias.sh rocks-canonical.${GETEWAY} rocks.canonical.com ${GETEWAY}
申请别名证书:
./update-tls.sh gcr.${GETEWAY} ./update-tls.sh ghcr.${GETEWAY} ./update-tls.sh k8s-gcr.${GETEWAY} ./update-tls.sh k8s.${GETEWAY} ./update-tls.sh mcr.${GETEWAY} ./update-tls.sh nvcr.${GETEWAY} ./update-tls.sh quay.${GETEWAY} ./update-tls.sh jujucharms.${GETEWAY} ./update-tls.sh rocks-canonical.${GETEWAY}
最后重启服务:
./reload.sh
.
赠人玫瑰
手留余香
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的