如何轻松的下载海外镜像

简介

在云计算和云原生环境下,我们会经常使用到海外镜像部署服务,如谷歌镜像仓库(k8s.gcr.io、gcr.io),还有RedHat镜像仓库(quay.io),遇到此类镜像仓库由于某种神秘力量,我们在国内是无法直接下载,本片文章将介绍如何在不魔法上网的情况下下载海外镜像。

仓库名称

k8s组件镜像

k8s.gcr.io其他镜像

及时性

优势

阿里云镜像仓库(google_containers)

支持

不支持

定时,存在时差

阿里云镜像仓库(k8sxio)

支持

支持

定时,时差较小

同步时差小

中科大镜像仓库

不支持

不支持

未知

仅支持拉取quay.io镜像

lank8s.cn镜像仓库

支持

支持

代理,无时差

实时同步

DaoCloud镜像仓库

支持

支持

定时,时差较小

镜像仓库种类多

方法一:使用阿里云镜像仓库

众所周知阿里云镜像市场registry.aliyuncs.com/google_containers仓库会定期同步k8s.gcr.io的镜像,但目前只有Kubernetes组件的镜像,而且同步进度特别慢。而GitHub有位作者创建了一个k8sxio项目来对官方镜像进行时刻同步,并将同步的镜像上传到registry.aliyuncs.com/k8sxio中提供网友下载:

  • 源站:docker pull k8s.gcr.io/kube-apiserve
  • 改为:docker pull registry.aliyuncs.com/k8sxio/kube-apiserver

方法二:使用中科大镜像仓库

quay.io是Red Hat运营的镜像仓库,可以使用中科大镜像仓库代为拉取:

  • 源站:docker pull quay.io/kubevirt/virt-api:v0.45.0
  • 改为:docker pull quay.mirrors.ustc.edu.cn/kubevirt/virt-api:v0.45.0

方法三:使用lank8s.cn镜像仓库

lank8s.cn是对上游k8s.gcr.io搭建的代理,k8s.gcr.io有的镜像那么lank8s.cn就可以拉取,该镜像站来自于作者:https://github.com/lank8s,优势是直接拉取,不存在时间差,而且支持k8s.gcr.io下的所有镜像,使用方式:

  • 源站:docker pull k8s.gcr.io/kube-apiserve
  • 改为:docker pull lank8s.cn/kube-apiserver

最佳实践

# 通过lank8s.cn加速安装kubeadm
kubeadm config images pull --image-repository=lank8s.cn

方法四:使用DaoCloud提供的同步仓库

通过DaoCloud的镜像同步仓库,只需要拉取镜像的前面添加m.daocloud.io就可以轻松的拉取国外的镜像,具体信息可查看GitHub:https://github.com/DaoCloud/public-image-mirror

下面列举2个案例

  1. 下载docker.io的镜像
    源站:docker pull docker.io/library/nginx:latest
    改为:docker pull m.daocloud.io/docker.io/library/nginx:latest
  2. 下载k8s.gcr.io的镜像
    源站:docker pull k8s.gcr.io/metrics-server/metrics-server:v0.6.1
    改为:docker pull m.daocloud.io/k8s.gcr.io/metrics-server/metrics-server:v0.6.1

支持前缀替换的Registry

支持的源站

更换前缀的方式

拼接域名的方式

cr.l5d.io

l5d.m.daocloud.io

m.daocloud.io/cr.l5d.io

docker.elastic.co

elastic.m.daocloud.io

m.daocloud.io/docker.elastic.co

docker.io

docker.m.daocloud.io

m.daocloud.io/docker.io

gcr.io

gcr.m.daocloud.io

m.daocloud.io/gcr.io

ghcr.io

ghcr.m.daocloud.io

m.daocloud.io/ghcr.io

k8s.gcr.io

k8s-gcr.m.daocloud.io

m.daocloud.io/k8s.gcr.io

registry.k8s.io

k8s.m.daocloud.io

m.daocloud.io/registry.k8s.io

mcr.microsoft.com

mcr.m.daocloud.io

m.daocloud.io/mcr.microsoft.com

nvcr.io

nvcr.m.daocloud.io

m.daocloud.io/nvcr.io

quay.io

quay.m.daocloud.io

m.daocloud.io/quay.io

registry.jujucharms.com

jujucharms.m.daocloud.io

m.daocloud.io/registry.jujucharms.com

rocks.canonical.com

rocks-canonical.m.daocloud.io

m.daocloud.io/rocks.canonical.com

最佳实践

# 通过k8s-gcr.m.daocloud.io加速安装kubeadm
kubeadm config images pull --image-repository=k8s-gcr.m.daocloud.io

热门相关:帝少的专属:小甜心,太缠人   仗剑高歌   大神你人设崩了   豪门闪婚:帝少的神秘冷妻   刺客之王