首页 > 代码库 > docker(14):centos7 安装docker hub harbor,可视化registry

docker(14):centos7 安装docker hub harbor,可视化registry

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。
折腾折腾跑起来了。还是很简单的。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    docker(14):centos7 安装docker hub harbor,可视化registry