docker镜像无法访问的解决方案

由于众所周知的原因部分docker镜像无法下载,如k8s.gcr.io,可借助阿里云的容器镜像服务,构建自己的镜像。

阿里云容器镜像服务,默认使用国内机器构建镜像,所以,在构建时应勾选上[海外机器构建]的选项。

前提条件

Aliyun账号、Github账号

基本思路

从github上找到无法下载的镜像源代码,将源代码fork到自己的仓库。登录aliyun,在容器镜像服务中按提示,将github账号授权给aliyun,在aliyun容器镜像服务中找到仓库中源代码,添加构建规则,执行镜像构建。

操作步骤

以k8s.gcr.io/echoserver为例,演示操作过程。k8s.gcr.io/echoserver无法正常访问,所以,从github中搜索到相应的源代码,进行构建。

获取源码

将镜像fork到自己的仓库。

授权github账号

首次使用aliyun容器镜像服务,需要授权操作。

创建镜像仓库

填写镜像仓库基本信息,并选择源代码。

注:仓库名称尽量与源码项目名保持一致,示例中是一个错误的示范。

Aliyun容器镜像服务会自动同步gitbub仓库中的项目,示例中选择echoserver,可在此时将[海外机器构建]一项勾选上,若错过可在构建页面操作。

添加构建规则

此处,选择类型和分支,给镜像一个版本号,无特殊需求其他项保持默认。

执行构建

选择一个构建规则,执行构建操作。

使用镜像

构建完成,回到镜像仓库的基本信息页面,那里给出了使用镜像的详细命令,尤其是私有镜像的使用。