install harbor v2.9.4
2024-08-19ver=v2.9.4
ver=2.14.4
#20260702
https://github.com/goharbor/harbor/releases/download/${ver}/harbor-offline-installer-${ver}.tgz
1、
ver=v2.9.4
#wget https://github.com/goharbor/harbor/releases/download/${ver}/harbor-offline-installer-${ver}.tgz
tar -xvf harbor-offline-installer-${ver}.tgz
cd /opt/harbor/
升级过程中这一步非常重要,每个版本的harbor.yml参数不一样,会导致无法prepare
cp harbor.yml.tmpl harbor.yml
#harbor.yml
docker load -i harbor.v2.9.4.tar.gz
2、IMAGE_USERNAME="user"
IMAGE_PASSWORD="pw"
HARBOR_HOST=idc-harbor.test.com/xx
docker login -u ${IMAGE_USERNAME} -p ${IMAGE_PASSWORD} ${HARBOR_HOST}
docker pull
docker images
3、安装harbor出现问题:
[+] Running 1/1
✘ Network harbor_harbor Error 0.2s
failed to create network harbor_harbor: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-363a2cbe32fe -j RETURN: iptables: No chain/target/match by that name.
(exit status 1))
这个错误信息表明 Docker 在尝试设置网络时遇到了问题,具体是关于 iptables 的 SKIP DNAT 规则。iptables 是 Linux 系统中用于配置网络防火墙规则的工具,Docker 使用它来管理容器的网络。
iptables -t nat -F
ifconfig docker0 down
iptables -t nat -F
4、harbor.yml导致的问题
[root@VM-76-15-tencentos harbor]# ./prepare
prepare base dir is set to /opt/harbor
Traceback (most recent call last):
File "/usr/src/app/main.py", line 15, in
cli()
File "/usr/lib/python3.11/site-packages/click/core.py", line 1137, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1668, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/commands/prepare.py", line 33, in prepare
config_dict = parse_yaml_config(conf, with_trivy=with_trivy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/utils/configs.py", line 225, in parse_yaml_config
config_dict['job_loggers'] = js_config["job_loggers"]
~~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'job_loggers'
5、
systemctl restart docker
./prepare
./install.sh