背景介绍
最近在搭建kubernetes的EFK,在创建fluentd-es-ds的时候遇到了迈不过去的坎,墙内找不到靠谱的fluentd-elasticsearch镜像,到DockerHub捡垃圾的方式也不适合生产环境,想起了群里有大佬说过hub找版本github构建,在网上搜索了下gitHub获取镜像,果然看到很多利用github获取k8s的文章。下面简单记录下过程。
基本步骤
Github操作
1、登陆github,创建代码仓库,比如我的kubeimage
2、编写Dockerfile
1 | FROM gcr.io/google_containers/kube-apiserver-amd64:v1.11.1 |
3、提交Dockerfile
由于本人打算在一个项目里面拉取多个镜像,所以新建了一层文件夹。具体路径是1
kubeimage/kube-apiserver-amd64/v1.11.1/Dockerfile
DockerHub 操作
登陆DockerHub,创建Automated Build项目
没有DockerHub账号的需要注册一个,未关联github账号的,创建Automated Build项目时会要求绑定 github账号,按提示操作即可。
选择仓库:
选择仓库创建
默认是在仓库的根目录检查Dockerfile文件,但是我们这里是要用一个仓库构建多个镜像,所有创建了子目录,把Dockerfile放在子目录里面,指定Dockerfile位置。点击保存,再点击触发:
触发后可以去构建详细那里查看构建结果,如果失败了点击错误可以看到日志。
把镜像拉取到本地1
docker pull leitty/kubeimage/apiserver
修改一下tag1
docker tag leitty/kubeimage/apiserver gcr.io/google_containers/kube-apiserver-amd64:v1.11.1
gcr.io/google_containers/kube-apiserver-amd64:v1.11.1镜像就出炉了,可以愉快的部署了
附一个墙外查询镜像的地址:
https://console.cloud.google.com/gcr/images/google-containers/GLOBAL
参考: