• 微服务架构


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

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

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

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

    1、前期准备

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

    • GitHub,需要有一个GitHub账号,如果没有的,可以到官网https://github.com上注册(对于程序员来说,这个是GitHub必备的)
    • Docker Hub,需要有一个Docker Hub账号,如果没有的,可以到官网https://hub.docker.com上注册(对于学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镜像了。

    关注我

    以你最方便的方式关注我:
    微信公众号:

  • 相关阅读:
    查看eclipse的安装路径
    js中Number()、parseInt()和parseFloat()的区别进行详细介绍
    JSON 基础学习1
    Jquery Math ceil()、floor()、round()比较与用法
    easyui获取当前点击对象tabs的title和Index
    java中String,int,Integer,char、double类型转换
    DNA排序
    The Peanuts
    牛的选举——取最大k个数
    数据筛选——第k小的数
  • 原文地址:https://www.cnblogs.com/atcloud/p/10577759.html
Copyright © 2020-2023  润新知