使用docker-compose来安装harbor v2.5.1,安装过程中有一些问题,下面记录一下:

  1. 下载离线安装包:

2. 准备docker-compose.yml和harbor.yml:

docker-compose.yml:

harbor.yml文件需要更改hostname, 监听port, 如果不开启ssl, 则注释掉https, 更改harbor_admin_password,和data_volume

 

执行完docker-compose up -d后, 容器全部启来了, 但是再执行docker-compose down后, 再执行install.sh,或up启动,发现有几个问题:

docker-compose up启动报错:

Creating harbor-log … error

ERROR: for harbor-log Cannot start service log: driver failed programming external connectivity on endpoint harbor-log (cb1338bb88ec65aba9727cb1e7656e6c44b3705095121e27ab9240a66cda1ef1): (iptables failed: iptables –wait -t filter -A DOCKER ! -i br-0f9ec40ce6de -o br-0f9ec40ce6de -p tcp -d 172.19.0.2 –dport 10514 -j ACCEPT: iptables: No chain/target/match by that name.
(exit status 1))

解决:

清空防火墙规则,重启docker

 

 

db启不来:

 

看日志log/postgresql.log :

参考https://github.com/goharbor/harbor/issues/15464, 方案为在docker-compose.yml的postgresql 里加privileged: true,或升级docker到20版本:

升级docker:

 

harbor-db报以下错误:

initdb: error: could not access directory “/var/lib/postgresql/data/pg13”: Permission denied

解决:首先确保harbor.yml的data_volume: 项配置路径正确,然后将harbor目录下的database目录更新权限: chown -R systemd-bus-proxy:ssh_keys database

 

重启后发现core启不来:

 

看日志是failed to connect to host=postgresql user=po stgres database=registry: server error (FATAL: database “registry” does not exist (SQLSTATE 3)

参考https://github.com/goharbor/harbor-helm/issues/145,手动创建registry表:

 

Categories: 未分类

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *