1,Harbor
容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Project Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能,欢迎使用和反馈意见。
还是一个vmware开源的项目呢。但是界面上有点老气。
2,下载安装
项目地址:
https://github.com/vmware/harbor
这货是用golang 写的不知道为啥下载需要这么大的文件,303MB,直接把docker镜像包括了。
https://github.com/vmware/harbor/releases
请使用下载器下载,要不然中间断了得哭死。或者在下班的时候下载。
扔到 centos7 上面。
tar -zxvf harbor-offline-installer-0.5.0.tgz
cd harbor
#vi /etc/hosts
10.0.2.15 reg.freewebsys.com
设置一个ip 然后修改 vi harbor.cfg
要安装成功还需要 docker registry。
https://c.163.com/hub#/m/repository/version/?repoId=3099
可以从国内的镜像下载,国内做个IT还真是艰苦。感觉上163的镜像应该靠谱点。
docker pull hub.c.163.com/library/registry:latest
#将daocloud上面的registry 下载下来,然后换个tag让 harbor安装脚本识别。
docker tag daocloud.io/library/registry:latest library/registry:2.5.0
daocloud.io/library/registry latest d1e32b95d8e8 7 weeks ago 33.17 MB
library/registry 2.5.0 d1e32b95d8e8 7 weeks ago 33.17 MB
同时还要安装docker-compose
设置目录权限,否则docker启动有问题:
**其中任何一个没有配置都会导致,一个docker容器启动不了。
造成连锁反应,导致harbor启动有问题。**
同时要保证本机没有启动nginx,mysql服务或端口未被占用。
chcon -Rt svirt_sandbox_file_t ./common/ harbor.cfg prepare
chcon -Rt svirt_sandbox_file_t /data/registry
chcon -Rt svirt_sandbox_file_t /var/log/harbor
chcon -Rt svirt_sandbox_file_t /data/database
chcon -Rt svirt_sandbox_file_t /data/job_logs
一共起来好多的服务呢。乱七八糟的。
[Step 4]: starting Harbor ...
Creating network "harbor_default" with the default driver
Creating harbor-log
Creating harbor-db
Creating registry
Creating harbor-ui
Creating harbor-jobservice
Creating nginx
----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at http://reg.freewebsys.com.
For more details, please visit https://github.com/vmware/harbor .
启动成功可以通过web页面进行访问了。
3,登录界面
默认的密码是 Harbor12345, 账号是 admin。
查看hub项目,现在还是空空的。
4,登录上传
因为绑定的是一个 10.0.2.15 的ip,但是遇到。
使用admin登录
docker login 127.0.0.1 #可以登录
docker login 10.0.2.15 #不可以登录
修改配置: vi /etc/sysconfig/docker
INSECURE_REGISTRY='--insecure-registry 10.0.2.15'
启用不安全的登录方式,就可以使用admin登录啦。
在git上面已经有这个bug了。
https://github.com/vmware/harbor/issues/811
然后上传docker 镜像:
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.c.163.com/library/registry latest d1e32b95d8e8 7 weeks ago 33.17 MB
library/registry 2.5.0 d1e32b95d8e8 7 weeks ago 33.17 MB
vmware/harbor-log 0.5.0 8a0833f24c8f 3 months ago 190.5 MB
vmware/harbor-jobservice 0.5.0 f8d65542009e 3 months ago 169.4 MB
vmware/harbor-ui 0.5.0 587e09accc1b 3 months ago 233 MB
vmware/harbor-db 0.5.0 e4339a680042 3 months ago 326.8 MB
nginx 1.11.5 05a60462f8ba 4 months ago 181.4 MB
registry 2.5.0 c6c14b3960bd 7 months ago 33.28 MB
photon 1.0 e6e4e4a2ba1b 8 months ago 127.5 MB
#使用tag 重新给镜像打个tag,然后在push上去就可以了。
# docker tag hub.c.163.com/library/registry:latest 10.0.2.15/library/registry:latest
# docker push 10.0.2.15/library/registry:latest
然后在公开项目中就可以看到上传的镜像了。
4,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/60978021 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
harbor 是一个docker 的可视化界面,能够浏览到docker registry 上面的docker镜像。
非常的方便,但是搭建起来比较麻烦,还跑了nginx,mysql。
折腾折腾跑起来了。还是很简单的。