微服务架构 - 巧妙获取被墙的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/lonelyxmas/p/10579048.html

时间: 2024-11-09 22:06:45

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

微服务架构(Microservice Architecture)

之前一段时间,有听部门架构说起接下来公司要使用微服务架构来研发系统,当时没怎么在意,因为是第一次听说微服务这个名词(果然无知者无畏啊):正好赶上五一假, 我自告奋勇的,接了编写微服务架构培训文档这个任务(也许因为我是文科生,文笔稍微好点).五一假期三天,基本都是在看资料,梳理思路以及编写接下来的培训文档中度过. 下面,就说说我这几天的一些收获吧:先说说资料来源吧:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和

[转]微服务架构

本文转自:https://www.cnblogs.com/imyalost/p/6792724.html 资料来源:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和发展 三.传统开发模式和微服务的区别 四.微服务的具体特征 五.SOA和微服务的区别 六.如何具体实践微服务 七.常见的微服务设计模式和应用 八.微服务的优点和缺点 九.思考:意识的转变 十.参考资料和推荐阅读 一.微服务架构介绍 微服务架构(Mic

微服务架构之旅——《走进SpringCloud》

近十年国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去"能用就行"这种很low的档次了,像618.双十一这样的活动 不断逼迫我们去突破软件系统的性能上限,传统的IT企业"能用就行"的开发思想已经不能满足互联网 高并发.大流量的性能要求 .系统架构 走向分布式 已经是服务器开发领域解决该问题唯一的出路,然而分布式系统由于天生的复杂度,并不像开发单体应用一样把框架一堆就能搞定,因此各大互联网公司都在投入技术力量研发自己的基础设施.这里面比较有名的如 阿里的开源

微服务架构下领域建模避坑指南

前言 微服务自2014年3月由Martin Fowler首次提出以来,在Spring Cloud.Dubbo等各类微服务框架的帮助下,以燎原之势席卷了整个IT技术界,成为了最主流的分布式应用解决方案.伴随着Service Mesh及Kubernetes(K8S)的出现更是将微服务架构推至顶峰. 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,并提供更加灵活的服务支持. 经常有人在讨论:架构是设计出来的?还

Spring Cloud微服务架构在互联网中应用

夜行侠老师录制的:Spring Cloud微服务架构在互联网中应用 由大象分享网出版:http://www.itjoin.org/course/detail/5934a58c0cf2159b39641f80夜行侠课程集合:http://www.xuetuwuyou.com/user/29 第1节.Springcloud介绍第2节.Eureka的使用第3节.Eureka集群第4节.restful请求第5节.restful请求负载均衡第6节.配置中心第7节.获取配置中心数据第8节.配置中心高可用第9

微服务架构——不是免费的午餐

当我開始了解<微服务架构>的时候,我发现里面的中文文章是相当的少,于是開始试着翻译一些文章,比方这一篇<微服务--不是免费的午餐>.这篇文章是在某次讨论结束后听到的,和之前相似的是这样的差别有点相似于之前说的微内核与宏内核的差别. 译文例如以下: 文章是由Contino公司的CTO,Benjamin Wootton写的.Contino是一家在伦敦的咨询公司,专注于DevOps和持续支付. Microservices are a style of software architect

Spring Cloud微服务架构在互联网中应用_SpringCloud视频教程

Spring Cloud微服务架构在互联网中应用 课程学习地址:http://www.xuetuwuyou.com/course/177 课程出自学途无忧网:http://www.xuetuwuyou.com 一.课程涉及的软件及版本: springcloud版本Dalston.SR1 springboot版本1.5.2 jdk1.8 spring4.3.7 二.适合人群: ①想学分布式微服务架构 ②想学springcloud,spring data flow ③想构建稳定的分布式微服务架构 三

基于docker部署的微服务架构(四): 配置中心

原文:http://www.jianshu.com/p/b17d65934b58%20 前言 在微服务架构中,由于服务数量众多,如果使用传统的配置文件管理方式,配置文件分散在各个项目中,不易于集中管理和维护.在 spring cloud 中使用 config-server 集中管理配置文件,可以使用 git.svn.本地资源目录 来管理配置文件,在集成了 spring cloud bus 之后还可以通过一条 post 请求,让所有连接到消息总线的服务,重新从config-server 拉取配置文

NET实现的DDD、CQRS与微服务架构

WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例 最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间的努力,凭着自己对微服务架构的理解,从无到有,基于.NET打造了一个演示微服务架构的应用程序案例,并结合领域驱动设计(DDD)以及命令查询职责分离(CQRS)体系结构模式,对事件驱动的微服务系统架构进行了一些实战性的探索.现将自己的思考和收获整理成文,分享给大家. 微服务架构 在介绍源代码之前,我还