帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【运维相关】Docker被墙以后,亲测有效的镜像下载方法!

发表时间:2025-01-16 01:32:56 小编:主机乐-Yutio

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

亲测有效的docker下载镜像的方法,最近搭建k8s集群,用的是阿里云的镜像地址。

1.初始化集群

代码语言:javascript
AI代码解释
复制
kubeadm init \
--apiserver-advertise-address=192.168.0.97 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.12 \
--pod-network-cidr=10.244.0.0/16

2.部署网络插件

代码语言:javascript
AI代码解释
复制
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

这个插件会涉及到2个镜像

代码语言:javascript
AI代码解释
复制
[root@k8s-master ~]# cat kube-flannel.yml |grep image
        image: docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel1
        image: docker.io/flannel/flannel:v0.25.4

由于最近Docker被墙的问题,我们是不能直接下载到这2个镜像的,以下就是变通的方法:

代码语言:javascript
AI代码解释
复制
#下载完成以后在修改tag或者修改flannel的镜像地址为下面的地址
 docker pull m.daocloud.io/docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel1
 docker pull m.daocloud.io/docker.io/flannel/flannel:v0.25.4

实际规则就是添加域名前缀

代码语言:javascript
AI代码解释
复制
              docker.io/flannel/flannel:v0.25.4
                 |
                 V
m.daocloud.io/docker.io/flannel/flannel:v0.25.4

注意理论它可以替换成任何公网镜像仓库,不仅仅是docker的官方仓库,包括k8s的仓库其实也是可以的,但是实际上提供方肯定会有限制的,具体以官方说明为准。

这里有个问题就是,它可以理解为就是个临时仓库,如果你要的镜像,在这里是没有的,你也是不能下载的。但是你可以通过手工提交PR,然后由机器人自动下载的。也就是如果你需要下载这个镜像,通过下面的方法操作以后才可以通过这个地址去下载,当然这里其实常用的官方镜像都已经默认都有。

以下是一个测试过程

注:这个测试的镜像其实是不存在的,所以最后同步的时候肯定会失败。

代码语言:javascript
AI代码解释
复制
#模拟一个临时仓库不存在的镜像
[root@k8s-master ~]# docker pull  m.daocloud.io/docker.io/rocketmq
Using default tag: latest
Error response from daemon: pull access denied for m.daocloud.io/docker.io/rocketmq, repository does not exist or may require 'docker login': denied: ? 这镜像不在白名单. this image is not in the allowlist. ? https://github.com/DaoCloud/public-image-mirror/issues/2328 ?
[root@k8s-master ~]# docker pull  m.daocloud.io/docker.io/rocketmq:latestpublic-image-mirror/issues/2328 ?

准备去提pr(要求你有github的账号才能提交pr)

PR提交地址:https://github.com/DaoCloud/public-image-mirror/issues/new?labels=sync+image&template=sync-image.yml

如果你这个镜像本身没问题 就会看到下面的信息,当然我这个演示是因为这个镜像地址是错误的,所以它失败了。

如果你的地址没问题,则会同步成功,同步成功以后,按照上面的地址转换就可以下载到你要的镜像。


联系我们
返回顶部