Installing harbor-2.6.2 on openEuler

2022-11-17 06:01:06

一、Installing harbor-2.6.2 on openEuler

1 地址

2 Harbor 安裝條件

部署Harbor的最低硬體和軟體設定:https://goharbor.io/docs/2.0.0/install-config/installation-prereqs

2.1 Hardware

The following table lists the minimum and recommended hardware configurations for deploying Harbor.

Resource Minimum Recommended
CPU 2 CPU 4 CPU
Mem 4 GB 8 GB
Disk 40 GB 160 GB

2.2 Software

The following table lists the software versions that must be installed on the target host.

Software Version Description
Docker engine Version 17.06.0-ce+ or higher For installation instructions, see Docker Engine documentation
Docker Compose Version 1.18.0 or higher For installation instructions, see Docker Compose documentation
Openssl Latest is preferred Used to generate certificate and keys for Harbor

2.3 Network ports

Harbor requires that the following ports be open on the target host.

Port Protocol Description
443 HTTPS Harbor portal and core API accept HTTPS requests on this port. You can change this port in the configuration file.
4443 HTTPS Connections to the Docker Content Trust service for Harbor. Only required if Notary is enabled. You can change this port in the configuration file.
80 HTTP Harbor portal and core API accept HTTP requests on this port. You can change this port in the configuration file.

3 docker 和 docker-compose 安裝在底部!

 

二、離線安裝 Harbor

1 wget 下載

mkdir /opt/software && cd /opt/software
wget https://github.com/goharbor/harbor/releases/download/v2.6.2/harbor-offline-installer-v2.6.2.tgz

2 解壓

tar -zxvf /opt/software/harbor-offline-installer-v2.6.2.tgz -C /opt && cd /opt/harbor && ll
total 774M
-rw-r--r-- 1 root root 3.6K Nov  9 17:35 common.sh
-rw-r--r-- 1 root root 774M Nov  9 17:36 harbor.v2.6.2.tar.gz
-rw-r--r-- 1 root root  11K Nov  9 17:35 harbor.yml.tmpl
-rwxr-xr-x 1 root root 3.1K Nov  9 17:35 install.sh
-rw-r--r-- 1 root root  12K Nov  9 17:35 LICENSE
-rwxr-xr-x 1 root root 1.9K Nov  9 17:35 prepare

最主要的是 harbor.yml.tmpl和 install.sh ,分別是組態檔和安裝執行檔案。

3 修改組態檔

# 備份一下
cp /opt/harbor/harbor.yml.tmpl /opt/harbor/harbor.yml

# 修改組態檔
vim /opt/harbor/harbor.yml
5 hostname: 114.116...
10 port: 8084
34 harbor_admin_password: root
39 password: root123
47 data_volume: /opt/harbor/data
131 location: /var/log/harbor

# 建立資料和紀錄檔目錄
mkdir /opt/harbor/data
mkdir /var/log/harbor

4 修改daemon

新增http的通訊地址,docker預設使用https進行通訊,如果設定了https協定就不需要新增。

cat > /etc/docker/daemon.json << EOF
{
    "registry-mirrors": [
      "https://registry.docker-cn.com",
      "https://docker.mirrors.ustc.edu.cn",
      "https://dockerhub.azk8s.cn",
      "http://hub-mirror.c.163.com"
    ],
    "experimental": true,
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "100m"
    },
    "insecure-registries": ["114.116...:8084"]
}
EOF

5 重新載入設定和重啟docker

systemctl daemon-reload && systemctl restart docker

6 執行部署指令碼

/opt/harbor/install.sh

## 檢視程序
ps -ef |grep harbor

## 檢視映象
docker images

## 檢視映象啟動
docker ps -a

7 登陸 Harbor

伺服器 IP:8084

預設使用者名稱:admin 密碼:root

8 命令列登陸 docker

docker info
docker login 114.116...:8084

三、測試上傳和下載

harbor建立專案

專案--->新建專案--->專案名稱--->映象倉庫

2 對需要推播的映象簽名

docker pull tomcat
docker images

# tomcat映象設定標籤
docker tag tomcat:latest 114.116...:8084/iyuyixyz/tomcat:latest
docker push 114.116...:8084/iyuyixyz/tomcat:latest

推播成功!

四、harbor的停止與啟動

cd /opt/harbor
## 停止
docker-compose stop
## 啟動(第一次需要使用 up -d)
docker-compose start

# 如果 Harbor 已在執行,請停止並刪除現有範例。
## 資料保留在檔案系統中(慎用)
docker-compose down
# 建立並啟動
docker-compose up -d

 

X、One Step Success

1 /opt/harbor/install.sh harbor 安裝紀錄檔

檢視程式碼
 [root@ecs-65685 ~]# /opt/harbor/install.sh

[Step 0]: checking if docker is installed ...

Note: docker version: 20.10.16

[Step 1]: checking docker-compose is installed ...

Note: docker-compose version: 2.10.2

[Step 2]: loading Harbor images ...
93d5db33d7f0: Loading layer [==================================================>]  37.72MB/37.72MB
fed5229d083f: Loading layer [==================================================>]  8.902MB/8.902MB
60993d7b1dd7: Loading layer [==================================================>]  3.584kB/3.584kB
dcfafa86c82f: Loading layer [==================================================>]   2.56kB/2.56kB
8eecc685f414: Loading layer [==================================================>]  102.3MB/102.3MB
d93c6405d04a: Loading layer [==================================================>]  103.1MB/103.1MB
Loaded image: goharbor/harbor-jobservice:v2.6.2
a279a640c793: Loading layer [==================================================>]  6.287MB/6.287MB
4f9d6222bbfe: Loading layer [==================================================>]  4.096kB/4.096kB
55ce939e7c9a: Loading layer [==================================================>]  3.072kB/3.072kB
a631cda93151: Loading layer [==================================================>]    186MB/186MB
6fe15b823e2b: Loading layer [==================================================>]  12.87MB/12.87MB
48c9bf72ec70: Loading layer [==================================================>]  199.6MB/199.6MB
Loaded image: goharbor/trivy-adapter-photon:v2.6.2
a9c145b6d823: Loading layer [==================================================>]  5.759MB/5.759MB
7493dee46b78: Loading layer [==================================================>]  90.88MB/90.88MB
531fd3669887: Loading layer [==================================================>]  3.072kB/3.072kB
8bf93a9c7cac: Loading layer [==================================================>]  4.096kB/4.096kB
697af810c7b0: Loading layer [==================================================>]  91.67MB/91.67MB
Loaded image: goharbor/chartmuseum-photon:v2.6.2
565c6d1e1338: Loading layer [==================================================>]  119.9MB/119.9MB
070770563b0d: Loading layer [==================================================>]  3.072kB/3.072kB
1cbd1219edb1: Loading layer [==================================================>]   59.9kB/59.9kB
1eafa56427f8: Loading layer [==================================================>]  61.95kB/61.95kB
Loaded image: goharbor/redis-photon:v2.6.2
b1e37b42b3c0: Loading layer [==================================================>]  119.1MB/119.1MB
Loaded image: goharbor/nginx-photon:v2.6.2
0242e94056b7: Loading layer [==================================================>]  5.754MB/5.754MB
f25460e36589: Loading layer [==================================================>]  8.735MB/8.735MB
0854e8369d2a: Loading layer [==================================================>]  14.47MB/14.47MB
1d58fd938f61: Loading layer [==================================================>]  29.29MB/29.29MB
bbf9db741c3d: Loading layer [==================================================>]  22.02kB/22.02kB
41ea5b5c915c: Loading layer [==================================================>]  14.47MB/14.47MB
Loaded image: goharbor/notary-signer-photon:v2.6.2
1a91031428df: Loading layer [==================================================>]  8.902MB/8.902MB
3b0b5cc72c70: Loading layer [==================================================>]  3.584kB/3.584kB
773ad3349c8a: Loading layer [==================================================>]   2.56kB/2.56kB
39140cab076f: Loading layer [==================================================>]  83.92MB/83.92MB
6c80f545b0fa: Loading layer [==================================================>]  5.632kB/5.632kB
0ccee37aa42e: Loading layer [==================================================>]  106.5kB/106.5kB
756d72e6b8c7: Loading layer [==================================================>]  44.03kB/44.03kB
01a12d2708e6: Loading layer [==================================================>]  84.87MB/84.87MB
eab188b4f0ed: Loading layer [==================================================>]   2.56kB/2.56kB
Loaded image: goharbor/harbor-core:v2.6.2
3aecbbff620d: Loading layer [==================================================>]  1.097MB/1.097MB
3ee789a1e97c: Loading layer [==================================================>]  5.888MB/5.888MB
285f58d22327: Loading layer [==================================================>]    169MB/169MB
b47f4e789504: Loading layer [==================================================>]  16.98MB/16.98MB
e8b4a74e7102: Loading layer [==================================================>]  4.096kB/4.096kB
52bc97105e75: Loading layer [==================================================>]  6.144kB/6.144kB
21cad868f5ac: Loading layer [==================================================>]  3.072kB/3.072kB
6b24213c30fd: Loading layer [==================================================>]  2.048kB/2.048kB
54dd774f4fcd: Loading layer [==================================================>]   2.56kB/2.56kB
8fcc4e1141e7: Loading layer [==================================================>]   2.56kB/2.56kB
47e81a37ed9a: Loading layer [==================================================>]   2.56kB/2.56kB
15a2f5707a75: Loading layer [==================================================>]  8.704kB/8.704kB
Loaded image: goharbor/harbor-db:v2.6.2
b87a3132dc28: Loading layer [==================================================>]  5.759MB/5.759MB
099c3879eab4: Loading layer [==================================================>]  4.096kB/4.096kB
e111d5399557: Loading layer [==================================================>]  17.11MB/17.11MB
0339872ecc4b: Loading layer [==================================================>]  3.072kB/3.072kB
28d42c5fb14d: Loading layer [==================================================>]  29.71MB/29.71MB
a6e47445b2a9: Loading layer [==================================================>]  47.61MB/47.61MB
Loaded image: goharbor/harbor-registryctl:v2.6.2
dc8141f6851b: Loading layer [==================================================>]  8.902MB/8.902MB
98b4e2589226: Loading layer [==================================================>]  25.08MB/25.08MB
b413ead94415: Loading layer [==================================================>]  4.608kB/4.608kB
2c8d3d788084: Loading layer [==================================================>]  25.88MB/25.88MB
Loaded image: goharbor/harbor-exporter:v2.6.2
393d5a0ffc78: Loading layer [==================================================>]  43.85MB/43.85MB
a93c9af803e4: Loading layer [==================================================>]  65.97MB/65.97MB
7d77c2b336d0: Loading layer [==================================================>]  18.28MB/18.28MB
a023a4db994f: Loading layer [==================================================>]  65.54kB/65.54kB
938defed7f01: Loading layer [==================================================>]   2.56kB/2.56kB
40a257e6076f: Loading layer [==================================================>]  1.536kB/1.536kB
0a9ee117d49e: Loading layer [==================================================>]  12.29kB/12.29kB
fee3e00ceac7: Loading layer [==================================================>]  2.613MB/2.613MB
aa7a1d37a974: Loading layer [==================================================>]  379.9kB/379.9kB
Loaded image: goharbor/prepare:v2.6.2
43e329977d55: Loading layer [==================================================>]  5.759MB/5.759MB
cd7f664a365e: Loading layer [==================================================>]  4.096kB/4.096kB
d52491a2b6aa: Loading layer [==================================================>]  3.072kB/3.072kB
96c88da130e9: Loading layer [==================================================>]  17.11MB/17.11MB
3ed947e61e01: Loading layer [==================================================>]   17.9MB/17.9MB
Loaded image: goharbor/registry-photon:v2.6.2
c326200729cd: Loading layer [==================================================>]  5.754MB/5.754MB
dddf8a3ea2da: Loading layer [==================================================>]  8.735MB/8.735MB
64881611b8c7: Loading layer [==================================================>]  15.88MB/15.88MB
e8316cf8a6f4: Loading layer [==================================================>]  29.29MB/29.29MB
a36ddfae8822: Loading layer [==================================================>]  22.02kB/22.02kB
071790bc488e: Loading layer [==================================================>]  15.88MB/15.88MB
Loaded image: goharbor/notary-server-photon:v2.6.2
02fbd82c1ad9: Loading layer [==================================================>]  119.1MB/119.1MB
4cb31a91fcbf: Loading layer [==================================================>]  7.538MB/7.538MB
5c4e30d33b60: Loading layer [==================================================>]  1.185MB/1.185MB
Loaded image: goharbor/harbor-portal:v2.6.2
f0b226869da1: Loading layer [==================================================>]  126.9MB/126.9MB
375103145f01: Loading layer [==================================================>]  3.584kB/3.584kB
5cf0e3f47476: Loading layer [==================================================>]  3.072kB/3.072kB
67b68a640c0f: Loading layer [==================================================>]   2.56kB/2.56kB
d1537b9cab8f: Loading layer [==================================================>]  3.072kB/3.072kB
fccaf06d29a5: Loading layer [==================================================>]  3.584kB/3.584kB
02d47852b759: Loading layer [==================================================>]  20.99kB/20.99kB
Loaded image: goharbor/harbor-log:v2.6.2


[Step 3]: preparing environment ...

[Step 4]: preparing harbor configs ...
prepare base dir is set to /opt/harbor
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir


Note: stopping existing Harbor instance ...


[Step 5]: starting Harbor ...
[+] Running 10/10
 ⠿ Network harbor_harbor        Created                                                                                           0.0s
 ⠿ Container harbor-log         Started                                                                                           0.5s
 ⠿ Container redis              Started                                                                                           0.8s
 ⠿ Container harbor-portal      Started                                                                                           1.0s
 ⠿ Container registry           Started                                                                                           1.0s
 ⠿ Container harbor-db          Started                                                                                           1.1s
 ⠿ Container registryctl        Started                                                                                           1.1s
 ⠿ Container harbor-core        Started                                                                                           1.2s
 ⠿ Container nginx              Started                                                                                           1.6s
 ⠿ Container harbor-jobservice  Started                                                                                           1.7s
✔ ----Harbor has been installed and started successfully.----

 

Y、Error message

1 繫結源路徑不存在

Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /var/log/harbor/

解決

mkdir /var/log/harbor/

2 許可權被拒絕

nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13: Permission denied)

解決

## -^-

 

Z、Related Links

Installing Docker-20.10.12 on CentOS 7.9:https://www.cnblogs.com/huaxiayuyi/p/16775236.html

Installing docker on openEuler:https://www.cnblogs.com/huaxiayuyi/p/16894371.html

Installing docker-compose on CentOS 7.9:https://www.cnblogs.com/huaxiayuyi/p/16775728.html

Installing harbor-2.6.2 on CentOS 8.3:https://www.cnblogs.com/huaxiayuyi/p/16894018.html