微服务架构 - 巧妙获取被墙的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镜像了。
关注我
以你最方便的方式关注我:
微信公众号:
微服务架构 - 巧妙获取被墙的Docker镜像的更多相关文章
- 基于Spring Boot和Spring Cloud实现微服务架构学习
转载自:http://blog.csdn.net/enweitech/article/details/52582918 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习--转
原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...
- 微服务理论之二:面向微服务架构与传统架构、SOA对比,以及云化对比
一.Monolith 网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外.原因是,知道了Monolith的不便之后才能更容易地理解Microservice架构模式 ...
- 微服务架构-选择Spring Cloud,放弃Dubbo
Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...
- Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】
转载:http://blog.didispace.com/spring-cloud-starter-dalston-6-2/ 原创 2017-08-26 翟永超 Spring Cloud 被围观 ...
- 微服务架构集大成者—Spring Cloud (转载)
软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福. 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义. 1 背景 2 ...
- 放弃Dubbo,选择最流行的Spring Cloud微服务架构实践与经验总结
http://developer.51cto.com/art/201710/554633.htm Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经 ...
- WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例
最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间的努力,凭着自己对微服务架构的理解,从无到有,基于.NET打造了一个演示微服务架 ...
- NET实现的DDD、CQRS与微服务架构
WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例 最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间 ...
随机推荐
- SpringMVC配置多个数据源
多数据源,说白了,就是多数据库. 想要实现多数据库查询,只需简单四步即可实现! 第一步: 配置 jdbc.properties: # MySQL #========================== ...
- spring+springmvc+mybatis构建系统
今天和大家分享的是spring+springmvc+mybatis搭建框架的例子,说到这里不得不说现在市面上一流大公司还有很多用这种架子,创业型公司大部分都用springboot集成的mvc+myba ...
- 关于ConcurrentSkipListMap的理解
一.前言 JCIP 提到了在 Java 6 中引入了两个新的并发集合类 ConcurrentSkipListMap 和 ConcurrentSkipListSet.其实只要介绍一下 Concurren ...
- Debian虚拟机安装VirtualBox增强功能
作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=573 本文中使用的Debian是安装在VirtualBox中的虚拟机,具体参数如下: Debian版本:Linux de ...
- Spring Security 源码分析(四):Spring Social实现微信社交登录
社交登录又称作社会化登录(Social Login),是指网站的用户可以使用腾讯QQ.人人网.开心网.新浪微博.搜狐微博.腾讯微博.淘宝.豆瓣.MSN.Google等社会化媒体账号登录该网站. 前言 ...
- TCP的延迟ACK机制
TCP的延迟ACK机制 TCP的延迟ACK机制一说到TCP,人们就喜欢开始扯三步握手之类的,那只是其中的一个环节而已.实际上每一个数据包的正确发送都是一个类似握手的过程,可以简单的把它视为两步握手.一 ...
- CentOS 7.2 关闭防火墙
CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样 1.关闭防火墙: systemctl stop f ...
- python 写日志
简单配置 日志级别 级别 何时使用 DEBUG 详细信息,典型地调试问题时会感兴趣. INFO 证明事情按预期工作. WARNING 表明发生了一些意外,或者不久的将来会发生问题(如'磁盘满了').软 ...
- Python logger 没打出行数
# !/user/bin/python # -*- coding: utf-8 -*- ''' subprocess : 需要在linux平台上测试 shell logging ''' import ...
- 【爆料】-《西澳大学毕业证书》UWA一模一样原件
☞西澳大学毕业证书[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&a ...