harbor安装
系统版本:CentOS Linux release 7.6.1810 (Core)
docker版本:20.10.12
docker-compose版本:v2.3.2
docker-compose 百度网盘下载地址:
链接:https://pan.baidu.com/s/1hMYyP_zLeZXNfkWkZgXxQQ
提取码:l1cv
一、安装docker
1、添加 docker 的阿里云yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2、查看 docker-ce 有哪些版本
yum list docker-ce --showduplicates | sort -r
3、安装 docker-ce (ce社区版的意思)
yum -y install docker-ce-20.10.12-3.el7 docker-ce-cli-20.10.12-3.el7
4、启动 docker 并设置开机自启
systemctl enable --now docker
5、修改daemon,并添加http的通信地址,不然docker默认使用https进行通信,如果配置了https协议就不需要添加
## 如果不修改,可能会碰到如下错误,只是不一定
## [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".
# 将/usr/lib/systemd/system/docker.service文件中的这一行
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
# 修改为 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
# 如果不修改,在添加 worker 节点时可能会碰到如下错误
# [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The # recommended driver is "systemd".
# Please follow the guide at https://kubernetes.io/docs/setup/cri/
# 使用如下命令修改
sed -i.bak "s#^ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd#g" /usr/lib/systemd/system/docker.service
mkdir /etc/docker
# docker优化
# registry-mirrors 自定义的镜像地址
# 修改docker Cgroup Driver 为systemtd启动管理,是k8s需要,默认是cgroupfs
# max-concurrent-downloads: 最大并发下载
# max-concurrent-uploads: 最大并发上传
# log-driver: 日志格式化为 JSON。这是 Docker 默认的日志驱动程序。
# log-opts: 日志设置,单文件最大,最大几个文件
# 容器的日志都在 /var/lib/docker/containers/容器名/xxx.log
# live-restore: 在docker守护进程不可用时使容器保持活动状态
#
cat > /etc/docker/daemon.json <<'EOF'
{
"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"
],
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"log-driver": "json-file",
"log-opts": {
"max-size": "300m",
"max-file": "2"
},
"live-restore": true
}
EOF
改好之后,重新加载配置和重启docker
systemctl daemon-reload && systemctl restart docker
二、安装docker-compose:
把在百度网盘下载的docker-compose文件到服务器里
chmod +x docker-compose-linux-x86_64
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、移动到部署目录:
mv harbor /data/software/
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、执行部署脚本:./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]#
6、配置开机自启:
/usr/local/sbin/docker-compose -f /data/software/harbor/docker-compose.yml up -d
7、设置权限
chmod +x /etc/rc.local /etc/rc.d/rc.local
8、尝试登陆harbor
9、命令行登陆
[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)