手记

harbor安装

系统版本:CentOS Linux release 7.6.1810 (Core)

docker版本:20.10.12

docker-compose版本:v2.3.2

一、安装docker-compose:

把在百度网盘下载的docker-compose文件到服务器里

[root@zabbix 14:57:42~]# chmod +x docker-compose-linux-x86_64 
[root@zabbix 14:57:48~]# mv docker-compose-linux-x86_64 /usr/local/sbin/docker-compose

二、安装harbor

1、上传在百度网盘下载的harbor压缩包文件到服务器里:

[root@zabbix 14:58:29/data/recycle]# ll
total 1237904
-rw-r--r-- 1 root root 612698835 Mar  9 14:59 harbor-offline-installer-v2.4.1.tgz
[root@zabbix 14:59:20/data/recycle]#

2、解压harbor:

[root@zabbix 14:59:20/data/recycle]# tar zxf harbor-offline-installer-v2.4.1.tgz 
[root@zabbix 14:59:30/data/recycle]# ll
total 1237908
drwxr-xr-x 2 root root      4096 Mar  9 14:59 harbor
-rw-r--r-- 1 root root 612698835 Mar  9 14:59 harbor-offline-installer-v2.4.1.tgz

3、移动到部署目录:

[root@zabbix 14:59:47/data/recycle]# mv harbor /data/software/
[root@zabbix 14:59:54/data/recycle]# cd /data/software/harbor/
[root@zabbix 15:00:00/data/software/harbor]# ll
total 601612
-rw-r--r-- 1 root root      3361 Dec 16 12:22 common.sh
-rw-r--r-- 1 root root 616006217 Dec 16 12:23 harbor.v2.4.1.tar.gz
-rw-r--r-- 1 root root      8999 Dec 16 12:22 harbor.yml.tmpl
-rwxr-xr-x 1 root root      2500 Dec 16 12:22 install.sh
-rw-r--r-- 1 root root     11347 Dec 16 12:22 LICENSE
-rwxr-xr-x 1 root root      1881 Dec 16 12:22 prepare

4、修改配置文件

[root@zabbix 15:00:06/data/software/harbor]# cp harbor.yml.tmpl harbor.yml

vim harbor.yml

5、修改daemon,并添加http的通信地址,不然docker默认使用https进行通信,如果配置了https协议就不需要添加

## 如果不修改,可能会碰到如下错误,只是不一定
## [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". 
[root@zabbix 16:08:52/data/software/harbor]# cat /etc/docker/daemon.json 
{
    "registry-mirrors": ["https://nr240upq.mirror.aliyuncs.com", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "https://dockerhub.azk8s.cn", "http://hub-mirror.c.163.com"],
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "100m"
    },
    "insecure-registries": ["172.17.0.100:5000"]
}
[root@zabbix 16:16:59/data/software/harbor]# 

改好之后,重新加载配置和重启docker

[root@zabbix 15:00:50/data/software/harbor]# systemctl daemon-reload && systemctl restart docker

6、执行部署脚本:./install.sh

[root@zabbix 15:03:56/data/software/harbor]# ./install.sh 
 
[Step 0]: checking if docker is installed ...
 
Note: docker version: 20.10.12
 
[Step 1]: checking docker-compose is installed ...
 
Note: docker-compose version: 2.3.2
 
[Step 2]: loading Harbor images ...
1e3f0dc884e2: Loading layer [==================================================>]  39.45MB/39.45MB
3fd9ccd5eeaa: Loading layer [==================================================>]  5.275MB/5.275MB
c600bceee2f7: Loading layer [==================================================>]  4.096kB/4.096kB
724cd8711815: Loading layer [==================================================>]  3.072kB/3.072kB
d7c82a981c89: Loading layer [==================================================>]  17.32MB/17.32MB
a814341c2c44: Loading layer [==================================================>]  18.12MB/18.12MB
Loaded image: goharbor/registry-photon:v2.4.1
b00595b6932d: Loading layer [==================================================>]   5.27MB/5.27MB
e34892d856ce: Loading layer [==================================================>]  5.928MB/5.928MB
ac5a22c6047d: Loading layer [==================================================>]  14.47MB/14.47MB
3d1ac12eb215: Loading layer [==================================================>]  29.29MB/29.29MB
394b4b2ea0fa: Loading layer [==================================================>]  22.02kB/22.02kB
bb0deb7416e0: Loading layer [==================================================>]  14.47MB/14.47MB
Loaded image: goharbor/notary-signer-photon:v2.4.1
c3b02aec560c: Loading layer [==================================================>]  8.422MB/8.422MB
4d5b3acd128e: Loading layer [==================================================>]  3.584kB/3.584kB
7afbf44c3706: Loading layer [==================================================>]   2.56kB/2.56kB
31f95ac6eb9a: Loading layer [==================================================>]  75.59MB/75.59MB
8981a12f5c17: Loading layer [==================================================>]  5.632kB/5.632kB
16eb0821dcc3: Loading layer [==================================================>]  96.26kB/96.26kB
b19eba29a0de: Loading layer [==================================================>]  11.78kB/11.78kB
f0785d2e9965: Loading layer [==================================================>]  76.49MB/76.49MB
26ce29b9d7ab: Loading layer [==================================================>]   2.56kB/2.56kB
Loaded image: goharbor/harbor-core:v2.4.1
59e3814aa5f1: Loading layer [==================================================>]  119.8MB/119.8MB
1e99e9cd580e: Loading layer [==================================================>]  3.072kB/3.072kB
2bab205001c7: Loading layer [==================================================>]   59.9kB/59.9kB
c51450af480c: Loading layer [==================================================>]  61.95kB/61.95kB
Loaded image: goharbor/redis-photon:v2.4.1
3636ff090145: Loading layer [==================================================>]  8.421MB/8.421MB
fa3d57c372c8: Loading layer [==================================================>]  3.584kB/3.584kB
a2c97825dcbf: Loading layer [==================================================>]   2.56kB/2.56kB
366b1363b528: Loading layer [==================================================>]  86.95MB/86.95MB
3d2fd6d13a0f: Loading layer [==================================================>]  87.74MB/87.74MB
Loaded image: goharbor/harbor-jobservice:v2.4.1
8f71cf8bc1c6: Loading layer [==================================================>]  5.275MB/5.275MB
5cb3457d8e25: Loading layer [==================================================>]  4.096kB/4.096kB
02c18fad9dc6: Loading layer [==================================================>]  17.32MB/17.32MB
7bbcea1ec44e: Loading layer [==================================================>]  3.072kB/3.072kB
f2842e1ada70: Loading layer [==================================================>]  28.69MB/28.69MB
4665575c3f9e: Loading layer [==================================================>]  46.81MB/46.81MB
Loaded image: goharbor/harbor-registryctl:v2.4.1
439595cfbbc0: Loading layer [==================================================>]  7.192MB/7.192MB
Loaded image: goharbor/nginx-photon:v2.4.1
a19de03ace6b: Loading layer [==================================================>]   5.27MB/5.27MB
35bbd4cf35b6: Loading layer [==================================================>]  5.928MB/5.928MB
88f852ebd746: Loading layer [==================================================>]  15.88MB/15.88MB
e3c0db81a28c: Loading layer [==================================================>]  29.29MB/29.29MB
f74e521b7a55: Loading layer [==================================================>]  22.02kB/22.02kB
7d97a705f439: Loading layer [==================================================>]  15.88MB/15.88MB
Loaded image: goharbor/notary-server-photon:v2.4.1
1e6473070b18: Loading layer [==================================================>]    124MB/124MB
f05c1a477d2d: Loading layer [==================================================>]  3.584kB/3.584kB
bcab3e00aa98: Loading layer [==================================================>]  3.072kB/3.072kB
970d569f474a: Loading layer [==================================================>]   2.56kB/2.56kB
c659c9812277: Loading layer [==================================================>]  3.072kB/3.072kB
9d401ff8bf07: Loading layer [==================================================>]  3.584kB/3.584kB
968dfed00d2e: Loading layer [==================================================>]  19.97kB/19.97kB
Loaded image: goharbor/harbor-log:v2.4.1
b64000a1cd2c: Loading layer [==================================================>]  1.097MB/1.097MB
e3fb7ac15701: Loading layer [==================================================>]  5.889MB/5.889MB
d6e7f8008582: Loading layer [==================================================>]  165.9MB/165.9MB
eff0812a8c6f: Loading layer [==================================================>]  15.07MB/15.07MB
91a6abd7a540: Loading layer [==================================================>]  4.096kB/4.096kB
47e875926154: Loading layer [==================================================>]  6.144kB/6.144kB
04876e025d4a: Loading layer [==================================================>]  3.072kB/3.072kB
b817a88114e6: Loading layer [==================================================>]  2.048kB/2.048kB
e5fb37021dff: Loading layer [==================================================>]   2.56kB/2.56kB
767486d5c318: Loading layer [==================================================>]   2.56kB/2.56kB
b92f2b842b46: Loading layer [==================================================>]   2.56kB/2.56kB
e90e3a7ea4e9: Loading layer [==================================================>]  8.704kB/8.704kB
Loaded image: goharbor/harbor-db:v2.4.1
daf3d38cddc8: Loading layer [==================================================>]  8.422MB/8.422MB
8013b2cbc0b9: Loading layer [==================================================>]  18.13MB/18.13MB
4445f5ea7083: Loading layer [==================================================>]  4.608kB/4.608kB
32e035f0af8e: Loading layer [==================================================>]  18.93MB/18.93MB
Loaded image: goharbor/harbor-exporter:v2.4.1
0ad72e88d766: Loading layer [==================================================>]   8.54MB/8.54MB
fe195f48d47b: Loading layer [==================================================>]  4.096kB/4.096kB
71f2671db231: Loading layer [==================================================>]  3.072kB/3.072kB
ddda0b4a8eae: Loading layer [==================================================>]  39.27MB/39.27MB
c3fe76027866: Loading layer [==================================================>]  12.37MB/12.37MB
d82a7403c39a: Loading layer [==================================================>]  52.43MB/52.43MB
Loaded image: goharbor/trivy-adapter-photon:v2.4.1
03e449493f09: Loading layer [==================================================>]  5.275MB/5.275MB
4f4a25c7cc0d: Loading layer [==================================================>]   64.5MB/64.5MB
77a37df05436: Loading layer [==================================================>]  3.072kB/3.072kB
47c58e48962d: Loading layer [==================================================>]  4.096kB/4.096kB
5dd56c28f3fc: Loading layer [==================================================>]  65.29MB/65.29MB
Loaded image: goharbor/chartmuseum-photon:v2.4.1
8b7cbddd8918: Loading layer [==================================================>]  165.6MB/165.6MB
b8157b6f7cb8: Loading layer [==================================================>]   57.6MB/57.6MB
4a53b9a92b30: Loading layer [==================================================>]   2.56kB/2.56kB
59184fc56c3c: Loading layer [==================================================>]  1.536kB/1.536kB
99431fe2c10f: Loading layer [==================================================>]  12.29kB/12.29kB
3735b7f4881f: Loading layer [==================================================>]   2.62MB/2.62MB
bcff3633b236: Loading layer [==================================================>]  325.6kB/325.6kB
Loaded image: goharbor/prepare:v2.4.1
eb57d0945b2e: Loading layer [==================================================>]  7.192MB/7.192MB
dd9069fd53a8: Loading layer [==================================================>]  7.355MB/7.355MB
e779dab1d180: Loading layer [==================================================>]  1.754MB/1.754MB
Loaded image: goharbor/harbor-portal:v2.4.1
 
 
[Step 3]: preparing environment ...
 
[Step 4]: preparing harbor configs ...
prepare base dir is set to /data/software/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
 
 
 
[Step 5]: starting Harbor ...
[+] Running 10/10
 ? Network harbor_harbor        Created                                                                                            0.0s
 ? Container harbor-log         Started                                                                                            0.6s
 ? Container redis              Started                                                                                            1.3s
 ? Container registryctl        Started                                                                                            1.4s
 ? Container registry           Started                                                                                            1.4s
 ? Container harbor-db          Started                                                                                            1.4s
 ? Container harbor-portal      Started                                                                                            1.3s
 ? Container harbor-core        Started                                                                                            1.7s
 ? Container harbor-jobservice  Started                                                                                            2.3s
 ? Container nginx              Started                                                                                            2.4s
? ----Harbor has been installed and started successfully.----
[root@zabbix 15:04:47/data/software/harbor]#

7、配置开机自启:

/usr/local/sbin/docker-compose -f /data/software/harbor/docker-compose.yml up -d

8、设置权限

chmod +x /etc/rc.local /etc/rc.d/rc.local

9、尝试登陆harbor

10、命令行登陆

[root@zabbix 15:08:00/data/software/harbor]# docker login 172.17.0.100:5000
Username: admin
Password: 
 
Login Succeeded
[root@zabbix 15:08:57/data/software/harbor]# 

三、测试上传和下载

1、新建一个项目目录:

2、我以nginx为例进行推送到harbor上:

[root@zabbix 16:45:33/data/software/harbor]# docker image ls | grep nginx
nginx                           latest     605c77e624dd   2 months ago    141MB
goharbor/nginx-photon           v2.4.1     78aad8c8ef41   2 months ago    45.7MB
[root@zabbix 16:45:42/data/software/harbor]# docker tag nginx:latest 172.17.0.100:5000/test/nginx1.8:v1
[root@zabbix 16:59:00/data/software/harbor]# docker image ls | grep nginx
172.17.0.100:5000/test/nginx1.8   v1         605c77e624dd   2 months ago    141MB
nginx                             latest     605c77e624dd   2 months ago    141MB
goharbor/nginx-photon             v2.4.1     78aad8c8ef41   2 months ago    45.7MB
[root@zabbix 16:59:04/data/software/harbor]# docker push 172.17.0.100:5000/test/nginx1.8:v1 
The push refers to repository [172.17.0.100:5000/test/nginx1.8]
d874fd2bc83b: Pushed 
32ce5f6a5106: Pushed 
f1db227348d0: Pushed 
b8d6e692a25e: Pushed 
e379e8aedd4d: Pushed 
2edcec3590a4: Pushed 
v1: digest: sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3 size: 1570
[root@zabbix 16:59:25/data/software/harbor]# 

3、查看镜像仓库,可以看到多了一个镜像

4、镜像拉取(镜像下载)

[root@zabbix 16:59:25/data/software/harbor]# docker image rm 172.17.0.100:5000/test/nginx1.8:v1 
Untagged: 172.17.0.100:5000/test/nginx1.8:v1
Untagged: 172.17.0.100:5000/test/nginx1.8@sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3
 
[root@zabbix 17:01:15/data/software/harbor]# docker image ls | grep nginx
nginx                           latest     605c77e624dd   2 months ago    141MB
goharbor/nginx-photon           v2.4.1     78aad8c8ef41   2 months ago    45.7MB
 
[root@zabbix 17:02:07/data/software/harbor]# docker pull 172.17.0.100:5000/test/nginx1.8:v1
v1: Pulling from test/nginx1.8
Digest: sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3
Status: Downloaded newer image for 172.17.0.100:5000/test/nginx1.8:v1
172.17.0.100:5000/test/nginx1.8:v1
 
[root@zabbix 17:02:12/data/software/harbor]# docker image ls | grep nginx
172.17.0.100:5000/test/nginx1.8   v1         605c77e624dd   2 months ago    141MB
nginx                             latest     605c77e624dd   2 months ago    141MB
goharbor/nginx-photon             v2.4.1     78aad8c8ef41   2 months ago    45.7MB
[root@zabbix 17:02:16/data/software/harbor]# 

至此,harbor部署完毕

知识补充:

1、如果以后修改了harbor.yml文件,那么先停止使用docker-compose down,再去修改harbor.yml文件,重新启动部署 ./install.sh

2、正常启动harbor启动:

docker-compose up -d

3、未修改配置文件,重启Harbor命令:docker-compose start | stop | restart

0人推荐
随时随地看视频
慕课网APP