Harbor安装
harbor所有服务是通过docker启动,启动脚本通过docker-compose管理docker,因此在安装harbor前需要安装docker和docker-compose。此处略。 对docker和docker-compose版本有要求.仔细看官网要求:https://goharbor.io/docs/2.0.0/install-config/installation-prereqs/
安装有两种方式:在线安装和离线安装。按照自己网络情况选择,个人经历是在线安装时下载镜像失败或者及其慢,后选择了离线安装。 GITHUB上有安装包,地址:https://github.com/goharbor/harbor 在宿主机上直接执行下面这条命令下载会比较快,我安装的是v1.10.3版本的,按照自己的需求改版本号就行了。安装步骤如下:
# 下载
wget https://storage.googleapis.com/harbor-releases/release-1.10.3/harbor-offline-installer-v1.10.3.tgz
# 解压,解压完成是一个harbor文件夹
tar -zxvf harbor-offline-installer-v1.10.3.tgz
cd harbor
# 找到harbor.yml,修改配置文件
# 修改主机名
hostname: 宿主机的IP或domain
# admin用户密码,默认是:XXXX,按需修改
harbor_admin_password: XXXX
# 配置http方式的话,目前已经够了。
# 启动,当前目录下执行:install.sh
./install.sh
# 服务启动情况检查
docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------
harbor-core /harbor/harbor_core Up (healthy)
harbor-db /docker-entrypoint.sh Up (healthy) 5432/tcp
harbor-jobservice /harbor/harbor_jobservice ... Up (healthy)
harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up (healthy) 8080/tcp
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:80->8080/tcp
redis redis-server /etc/redis.conf Up (healthy) 6379/tcp
registry /home/harbor/entrypoint.sh Up (healthy) 5000/tcp
registryctl /home/harbor/start.sh Up (healthy)
正常情况下,只要宿主机配置满足要求,都能正常启动。
使用
使用起来比较简单,打好镜像包之后,将镜像tag为私有仓库开头的名称。已个人测试环境为例
docker login 192.168.60.153 -u xxx -p xxx
docker tag SOURCE_IMAGE[:TAG] 192.168.60.153/wops/IMAGE[:TAG]
docker push 192.168.60.153/wops/IMAGE[:TAG]
好了,快去harbor里面看看吧。
Q&A
- harbor-db 一直重启 解决流程: (1) 查看日志,日志存放路径:/var/log/harbor/,数据库对应日志为:postgresql.log 报错信息:initdb: directory "/var/lib/postgresql/data" exists but is not empty。解决方式是找到docker-compose.yml文件,修改harbor-db映射的挂载路径(data->data1这里按需改):
volumes:
- /data/database:/var/lib/postgresql/data1:z
修改后需要重启服务,再看状态
docker-compose restart
docker-compose ps
目前我只遇到过这一个问题,后续有将继续补充。