渐入佳境,我们开始比较具体的工作,由于Docker是一个基础组件,所以本文的主题是Docker和Registry2。

底层系统基于Centos7,先在一台云主机上安装Docker,Docker的安装非常简单,参考官网Docker Centos部分安装指导只需要几步,安装好之后开始以下配置。

关闭防火墙

service firewalld stop
systemctl disable firewalld.service

Docker 1.12 禁用STL(HTTPS)登录Regisry

配置Docker通过STL和Registry通讯比较麻烦,由于是么有云环境,就索性禁用了,

vim /usr/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry registry2.io

配置好以后需要重启Docker服务生效,registry2.io 是我们给Registry指定的域名!

注意:配置好以后在Openstack界面上为此云主机生成快照,在以后创建的云主机将以此为系统基础,而不是纯净的Centos7,这样可以节约很多时间!

Registry

我们采用Vmware的Harbor做为直接使用Registry2的替代,号称是企业级的私有镜像仓库,Harbor支持中文而且功能全面,可以在线多项目管理Images包括搜索、删除等功能,最主要的是安装也特别简单,Harbor对于Registry2省去一些秘钥、证书的生成等繁杂的配置而且功能更强大。

项目主页https://github.com/vmware/harbor/ 安装同样非常简单,用Docker快照创建云主机,安装请参考官方安装指导和 http://www.xf80.com/2016/10/10/docker-harbor/

Harbor通过Docker Compose安装的,使用 docker-compose stop 和 docker-compose rm 可以停止和删除Harbor。

配置Harbor,Harbor.cfg

指定hostname和harbor_admin_password,如果是线上使用还要配置外部存储、主从、邮箱等。

安装后运行效果

Docker登录Registry

在docker的云主机上运行

docker login registry2.io

提示输入用户名和密码(在上面配置的)就可正常登录到Harbor,之后就可以Push和Pull等操作了。

Openstack+Kubernetes+Docker微服务实践之路--Docker和Registry2的更多相关文章

  1. Openstack+Kubernetes+Docker微服务实践之路--基础设施

    近两年微服务在网上聊的如此的如火如荼,备受关注,我在去年下半年的一个项目中也用到了阿里云的EDAS.HSF,深有体会,最近时间空闲出于好奇,决定一探究竟打算自建微服务平台,基本实现EDAS.HSF的功 ...

  2. Openstack+Kubernetes+Docker微服务实践之路--RPC

    重点来了,本文全面阐述一下我们的RPC是怎么实现并如何使用的,跟Kubernetes和Openstack怎么结合.  在选型一文中说到我们选定的RPC框架是Apache Thrift,它的用法是在Ma ...

  3. Openstack+Kubernetes+Docker微服务实践之路--Kubernetes

    经过几番折腾终于搞定Kubernetes了,我们要在Openstack上部署Kubernetes集群,使用最新工具Kubeadm来安装,由于不能直接访问Kubernetes的源,我们需要一台可以穿墙的 ...

  4. Openstack+Kubernetes+Docker微服务实践之路--选型

    上一篇博文中我们选定Openstack做为我们的基础设施IAAS平台,本文将明确我们用什么技术做为微服务平台的技术选型. 经过对微服务的特性总结和添加一些个性需求后对微服务平台的基本要求 PRC远程调 ...

  5. Openstack+Kubernetes+Docker微服务实践之路--服务发布

    结合上文,我们的服务已经可以正常运行了,但它的访问方式只能通过服务器IP加上端口来访问,如何通过域名的方式来访问到我们服务,本来想使用Kubernetes的Ingress来做,折腾一天感觉比较麻烦,I ...

  6. Openstack+Kubernetes+Docker微服务实践之路--弹性扩容

    服务上线就要顶的住压力.扛的住考验,不然挨说的还是我们这帮做事的兄弟,还记得上图这个场景吗 老办法是服务集群部署,但总归有个上限,之前跟阿里合作的时候他们有个弹性计算可以通过设置CPU的阀值来动态扩展 ...

  7. Openstack+Kubernetes+Docker微服务实践

    Openstack+Kubernetes+Docker微服务实践 .....   Openstack+Kubernetes+Docker微服务实践之路--选型 posted @ 2016-11-15 ...

  8. QCon技术干货:个推基于Docker和Kubernetes的微服务实践

    2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.DevOps构成的云原生席卷整个IT界.在近期举办的QCon全球软件开发大会上, ...

  9. 微服务实践之路--RPC

    微服务实践之路--RPC 重点来了,本文全面阐述一下我们的RPC是怎么实现并如何使用的,跟Kubernetes和Openstack怎么结合. 在选型一文中说到我们选定的RPC框架是Apache Thr ...

随机推荐

  1. Object转数组

    int length = Array.getLength(value);String[] newarray = new String[length];for (int i = 0; i < le ...

  2. ios - NSTimer中target的self是强引用问题

    当控制器ViewController跳转进入控制器OneViewController中的时候开启定时器,让定时器每隔一段时间打印一次,当OneViewController dismiss的时候,控制器 ...

  3. mysql入门

    mysql:关系型数据库的一种,用来存储数据: 一个仓库------一个数据库: 一个箱子------ 表: 进入mysql命令行:mysql -uroot -p(密码):查看数据库中所有表:show ...

  4. Excel Note

    公式的引用分为相对引用.绝对引用和混合引用.如果要使公式中的引用随着公式的下拉改变就用相对引用.如=sum(A2:D20),这个公式下拉时引用的单元格就会随着变化.如果要使公式中的引用下拉时不会改变就 ...

  5. ES5 Objece.creat实现继承

    Object.create() Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数, ...

  6. JS/JQ获取各种屏幕的高度和宽度

    Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...

  7. Android xml资源文件中@、@android:type、@*、?、@+含义和区别

    一.@代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@andr ...

  8. CCNET+MSBuild+SVN实现每日构建

    最近开始将源代码迁移到SVN,于是便考虑到如何从SVN定期获取源码,自动编译并部署以减轻工作量并提高工作效率.通过多方搜集资料并进行研究,基本实现了这个功能.对于每日构建的概念就不具体展开了,可以在各 ...

  9. android.widget.Toast

    widget 小部件 toast 烤面包 Toast.makeText(当前活动, 信息, 时间长短) 例:Toast.makeText(FirstActivity.this, "You c ...

  10. 1016. Boundaries on A New Kind of Science 解题报告

    题目链接: http://soj.sysu.edu.cn/1016 题目大意: 给定一个字符串和256条规则,将某条规则应用于字符串,字符串将发生变化,给定一个数max,求出在max步内可以将字符串变 ...