需要依赖Python 2.7或以上版本,Docker引擎1.10以上,还有Docker Compose 1.6.0或以上版本。
注:CentOS 7.2自带Python 2.7.5
安装Harbor
下载离线安装包https://github.com/goharbor/harbor/releases
解压安装包tar xvf harbor-offline-installer-v1.7.4.tgz
修改配置文件harbor.cfg
必需的参数有:
1.hostname:目标主机的主机名,用于访问UI和注册服务。不能使用localhost和127.0.0.1,因为harbor需要被外部客户端访问,我这里修改成了IP地址。
2.ui_url_protocol:用于访问UI和令牌/通知服务的协议,默认为http,如果在Nginx上启用了SSL认证可以设置成https,我这里用的默认的http。
3.max_job_workers:作业服务中的最大复制worker数,这里默认写的50,考虑到我的服务器的性能,我这里修改成了5。
4.customize_crt:设置为on,prepare脚本创建用于生成/验证注册表令牌的私钥和根证书。如果设置成off,密钥和根证书将由外部源提供,我设置的是on。
5.ssl_cert:SSL证书的位置,只有协议设置成https的时候,这个属性才会生效。
6.ssl_cert_key:SSL秘钥的位置,只有协议设置成https的时候,这个属性才会生效。
7.secretkey_path:密码存放的路径,这里最好别修改,否则后面会报错,我修改成了/data/。
8.log_rotate_count:日志文件保留的数量,达到最大值后会循环删除之前的日志。
9.log_rotate_size:每个日志的大小,我为了节省空间设置日志最多保留5个,每个最大200MB。
10.db_password:用于DB身份验证的MySQL数据库的根密码。
11.harbor_admin_password:设置admin的密码,默认Harbor12345
运行prepare更新参数./prepare
开始安装,执行./install.sh进行安装
安装完成,访问一下http://ip
测试一下
docker pull hello-world
docker tag hello-world xxx.xxx.xxx.xxx/library/hello-world
docker push xxx.xxx.xxx.xxx/library/hello-world
报443端口问题请参考http://www.ilkhome.cn/?post=450
push镜像失败,报denied: requested access to the resource is denied
解决办法:遇到这种情况,登录一下harbor仓库,登录成功,就OK了。
docker login xxx.xxx.xxx.xxx
Username: admin
Password:
Login Succeeded
停止:
docker-compose -f docker-compose.yml stop
启动:
docker-compose -f docker-compose.yml start