微服务架构 - 巧妙获取被墙的Docker镜像
微服务架构 - 巧妙获取被墙的Docker镜像
在国内由于种种原因,有些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镜像了。
原文地址https://www.cnblogs.com/atcloud/p/10577759.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
实战案例丨用 Docker Compose 快速运行一个 3 节点 Elasticsearch 集群
出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五,与您不见不散! 使用 Docker 在笔记本电脑上安装 Elasticsearch 集群进行测试是非常方便的。在这篇文章中,我将向您展示如何快速、简便地在 docker 上运行一个3节点的 elasticsearch 集群进行测试。 先决条件 我们需要设置“vm.max_map_count”内核参数: $ sudo sysctl -w vm.max_map_count=262144 若要永久设置此值,请将其添加到“/etc/sysctl.conf”并使用“sudo sysctl -p”命令重新加载。 Docker Compose 我们将引用的 docker compose 文件: version: '2.2' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4 container_name: elasticsearch environment: - cluster.name=docker-clus...
- 下一篇
【云周刊】 第211期:“阿里巴巴小程序繁星计划”:20亿扶持200万小程序开发者和100万商家
欢迎订阅云周刊 本期头条 “阿里巴巴小程序繁星计划”:20亿扶持200万小程序开发者和100万商家 3月21日,在2019阿里云峰会·北京站上,阿里巴巴旗下的阿里云、支付宝、淘宝、钉钉、高德等联合发布“阿里巴巴小程序繁星计划”:提供20亿元补贴,扶持200万+小程序开发者、100万+商家。凡入选“超星”的小程序,入驻支付宝、淘宝、钉钉、高德后还能得到流量重点支持。点击查看 2019阿里云峰会·北京,重磅报道合集阿里开发者技术交流钉钉群的全向图【2019年】下一个十年:练好内功被集成的弹性计算阿里巴巴的微服务开源之路阿里云图数据库GDB揭秘十年再出发:阿里云智能战略加速的“四级火箭”专访百胜软件CTO:30万家门店,从MySQL到阿里云POLARDB云原生数据库科技奥运再进一步,北京冬奥组委携手阿里云启动“云上转播” 技术干货 阿里巴巴微服务开
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 设置Eclipse缩进为4个空格,增强代码规范