学习 k8s ,总是遇到很多 images 无法 pull
每次都费劲 search ,看能不能找到一个尽可能一样的镜像
但是总有运气不好的时候!
例如: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/
这个 k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 镜像太难找了!
于是,按照以上参考,使用阿里云提供的容器镜像服务,构建我们自己的 Docker 镜像,终于搞定了!
阿里云容器镜像服务关联 github
-
容器镜像服务
https://cr.console.aliyun.com/cn-beijing/instances
就使用 “个人实例” -
创建镜像仓库
先使用 仓库类型: 公开 ,以免后续被 docker login 干扰
构建成功之后,随时可以改成“私有”,或者删除 -
关联 github ,勾选海外机器构建
-
创建后
-
构建规则
-
增加规则
-
立刻构建
-
查看日志
测试
-
因为选择了仓库类型: 公开 ,所以,直接跳过 docker login
-
docker login 后续在处理
-
仓库镜像可以直接从右上角哪里 “复制”
docker pull registry.cn-beijing.aliyuncs.com/docker-dhbm/test
Using default tag: latest latest: Pulling from docker-dhbm/test 60775238382e: Pull complete 528677575c0b: Pull complete Digest: sha256:a0faa3ae62500226ee3354688513ecdecb831102b4852fdef76eb8d9a8884096 Status: Downloaded newer image for registry.cn-beijing.aliyuncs.com/docker-dhbm/test:latest registry.cn-beijing.aliyuncs.com/docker-dhbm/test:latest
速度飞快!
再也不会被墙后,四处 search 了!
github 仓库以及 Dockerfile 构建方法
-
我直接 fork 了以上参考文章作者的项目
-
在线操作,创建了我需要的一个目录和 Dockerfile
-
并且,在线修改了 Dockerfile
实际就是去 cp 那个被墙的 image ,就这么简单!FROM k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 MAINTAINER wwzzhh <13501062476@139.com>
以后再遇到什么被墙,如法炮制就好!
后记
以上 test 已经删除
以下 3 个现在是 open 的 镜像
后续我会升级 https://github.com/wwzzhh/docker-image-wrapper 中的 Dcokerfile 到目前最新版
registry.cn-beijing.aliyuncs.com/docker-dhbm/nfs-subdir-external-provisioner
ingress-nginx 用到的 以下 2 个镜像
registry.cn-beijing.aliyuncs.com/docker-dhbm/kube-webhook-certgen
registry.cn-beijing.aliyuncs.com/docker-dhbm/nfs-subdir-external-provisioner