渐入佳境,我们开始比较具体的工作,由于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等操作了。