博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微服务架构 - 巧妙获取被墙的Docker镜像
阅读量:6940 次
发布时间:2019-06-27

本文共 1654 字,大约阅读时间需要 5 分钟。

微服务架构 - 巧妙获取被墙的Docker镜像

在国内由于种种原因,有些Docker镜像直接是获取不到的,特别是k8s中的一些镜像。本人在部署k8s中的helm组件时需要获取tiller镜像,如果直接用如下命令:

docker pull gcr.io/kubernetes-helm/tiller:v2.12.1

会由于网络原因连接不上从而导致获取镜像失败。

经查相关资料,可以有一种“曲线求国”的方案,在此通过实现巧妙获取被墙的tiller镜像方法分享给大家。

1、前期准备

这种“曲线求国”的方案,首先要准备2个网站的账号:

GitHub,需要有一个GitHub账号,如果没有的,可以到官网上注册(对于程序员来说,这个是GitHub必备的)

Docker Hub,需要有一个Docker Hub账号,如果没有的,可以到官网上注册(对于学Docker的,这个Docker Hub也是必备的)
2、自定义Dockerfile
通过定义Dockerfile可以构建出镜像,为此首先先自定义一个tiller的镜像的Dockerfile文件,即:

FROM gcr.io/kubernetes-helm/tiller:v2.12.1

MAINTAINER 1256122943@qq.com
通过上面的Dockerfile内容可以发现只是以gcr.io/kubernetes-helm/tiller:v2.12.1为基础镜像,没有加其它实质的东西,这样保证了自定义Dockerfile构建的镜像跟原来的tiller镜像是一样的。

定义好该Dockerfile文件,在本机上构建是不行的,因为在本机上是获取不到基础镜像gcr.io/kubernetes-helm/tiller:v2.12.1。此时就得利用GitHub了,即在GitHub上创建一个repository,比如名称就叫gcr.io_mirror。然后将Dockerfile文件上传到该repository中,即:

在我本人的GitHub是将Dockerfile放到gcr.io_mirror/kubernetes-helm/tiller/v2.12.1中多了几个目录是为了方便管理。

3、构建镜像

现在Dockerfile文件已经在GitHub中,那么现在就可以通过Docker Hub来构建镜像了,首先在Docker Hub中创建repository,即:

名称可以写tiller;描述内容可以随便写一下,例如tiller:v2.12.1;要选择是公开的即是Public;最重要的就行要选择通过连接GitHub来获取需要构建的源码,即点击“Connected”,然后要你填写GitHub的相关信息(如果是第一次关联),然后选择GitHub中需要构建的库,即选择刚刚在GitHub创建的gcr.io_mirror:

注意此处的Dockerfile location这个要填Dcokerfile所在的路径,在此处得填写为:

kubernetes-helm/tiller/v2.12.1/Dockerfile

这个的路径具体就是这个Dockerfile文件在GitHub的库中路径了。

这些信息填写好后,就可以点击“Create & Build”按钮了,这个构建的过程可能需要几分钟。

4、利用镜像

镜像在Docker Hub中构建好后,就可以在本机上获取我们自定义构建的tiller镜像了,即在本机上输入命令:

docker pull lzj09/tiller:v2.12.1

这样就样把自定义tiller镜像获取到了,但是为了在使用中更加方便,可以为该镜像打一下tag,即:

docker tag lzj09/tiller:v2.12.1 gcr.io/kubernetes-helm/tiller:v2.12.1

那么我们就通过这种“曲线求国”的方式获取到了gcr.io/kubernetes-helm/tiller:v2.12.1镜像了。
原文地址

转载地址:http://ldsnl.baihongyu.com/

你可能感兴趣的文章
博客写作的Checklist
查看>>
SVN权限修复
查看>>
MySQL函数的使用
查看>>
Dockerfile编写语法
查看>>
NFS pv部署
查看>>
暑假练习赛 003 B Chris and Road
查看>>
贪心小结
查看>>
Problem L
查看>>
show diffrent appbar for windows phone pivot page
查看>>
IE block my cookie in iframe
查看>>
02课后作业
查看>>
初识单片机(51单片机学习之旅系列)
查看>>
linux配置java jdk
查看>>
python全栈开发从入门到放弃之socket并发编程之IO模型
查看>>
ECMAScript 5 —— 执行环境及作用域
查看>>
Python:程序发布方式简介一(打包为可执行文件EXE)
查看>>
Kdevelop简单应用以及调试
查看>>
【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限
查看>>
自己的第一个网页
查看>>
jquery文本框textarea自适应高度
查看>>