下载海外镜像

0.1. 常用镜像下载地址

<https://console.cloud.google.com/gcr/images/<所要下载的镜像的仓库名称>

  • 如果是goolge的仓库就是goolge-containers
  • 如果是linkerd的仓库就是linkerd-io
  • 以此类推

通常需要的镜像可以在以上两个仓库下载到,但是,在国内直接通过docker命令下载海外镜像通常情况下都是无法下载的。

比如执行如下命令,拉去Google的镜像:

docker pull gcr.io/google-containers/kubernetes-dashboard:v0.1.0

因此需要采取一个迂回操作,共三个步骤。

0.2. 操作方式

首先需要有个梯子。

0.2.1. 配置docker代理

最快捷的方式。

  1. 为docker服务创建一个内嵌的systemd目录mkdir -p /etc/systemd/system/docker.service.d
  2. 创建/etc/systemd/system/docker.service.d/http-proxy.conf文件
  3. 添加HTTP_PROXY环境变量
[Service]
Environment="HTTP_PROXY=socks5://127.0.0.1:1080" "HTTPS_PROXY=socks5://127.0.0.1:1080"
  1. 更新配置 systemctl daemon-reload
  2. 重启Docker服务 systemctl restart docker

0.2.2. 第一步登录阿里云

另一种方式。

国内提供容器仓库服务的公有云都可以。

  1. 点击阿里云免费提供的容器镜像服务

  2. 选择一个距离自己比较近的节点,大陆主要有一下几个选择:

    1. 华东1(杭州)
    2. 华东2(上海)
    3. 华北1(青岛)
    4. 华北2(北京)
    5. 华北3(张家口)
    6. 华北4(呼和浩特)
    7. 华南1(深圳)
  3. 新建一个命名空间,命名空间可以分为公开(其他人也可以拉取)和私有两种

  4. 在命名空间下新建需要的镜像仓库

一个镜像就是一个仓库,同一个镜像的不同版本通过Tag区分

  1. 点击创建好的仓库后可以看到仓库的基本信息操作指南镜像描述

第二步中的操作,就主要参考这里的操作指南。

0.2.3. 第二步登录Google Cloud Platfrom

访问地址:https://console.cloud.google.com/getting-started

Google提供了免费的Cloud Shell:

  • 默认就已经预装了docker,查看版本为18.03.1-ce,以后可能会继续升级吧
  • Cloud Shell 有5G的存储空间,基本够用
  1. 登录Google账号,点击右侧头像旁边的激活Cloud Shell

  2. 在Cloud Shell中登录阿里云Docker Registry

docker login --username=<你的阿里云账号> registry.cn-shanghai.aliyuncs.com

# 用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
# 您可以在产品控制台首页修改登录密码。

登录一次之后,以后都不需要在重新登录

  1. 下载需要的海外镜像到Cloud Shell中,如:
docker pull gcr.io/google-containers/kubernetes-dashboard:v0.1.0
  1. 将镜像push到阿里云Docker Registry中
docker tag gcr.io/google-containers/kubernetes-dashboard:v0.1.0 registry.cn-shanghai.aliyuncs.com/promacanthus/kubernetes-dashboard:v0.1.0
docker push registry.cn-shanghai.aliyuncs.com/promacanthus/kubernetes-dashboard:v0.1.0

# docker client对镜像进行push时,根据镜像名字中包含的registry地址进行传输

以上操作,在阿里云的容器镜像服务的每个仓库的操作指南中有详细说明

0.2.4. 从阿里云Docker Registry中拉取镜像

docker pull registry.cn-shanghai.aliyuncs.com/promacanthus/kubernetes-dashboard:v0.1.0

0.3. 附加

阿里云的容器镜像服务还有一个很好用的功能,镜像加速器。

虽然Docker Hub的镜像我们可以直接拉取,很多时候pull的非常慢,这时候镜像加速器就很好用了。

  1. 登录阿里云容器镜像服务
  2. 点击左侧导航栏中的镜像中心,选择镜像加速器
  3. 首先是一个加速器地址,每个用户都会有一个不同的加速器地址
  4. 具体在自己电脑上的配置查看操作文档的说明
上次修改: 14 April 2020