ubuntu环境安装Harbor记录

朱治龙
2023-08-11 / 0 评论 / 77 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年12月18日,已超过332天没有更新,若内容或图片失效,请留言反馈。

Harbor 是一款优秀的开源企业容器镜像仓库。包括了基于web界面的权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。

官网链接:https://goharbor.io/

为方便应用开发部署,想要自己搭建Docker 镜像仓库,以下是部署过程。

一、下载安装包

根据Harbor官网的引导,可通过github的发布页面下载离线安装包:

由于国内网络下载速度堪忧,本次下载使用 ghproxy.com 进行代理加速下载,也就是在下载地址前添加 https://ghproxy.com/

下载记录如下:

zhuzl@zhuzl-M9-PRO:/data/software$ wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.8.4/harbor-offline-installer-v2.8.4.tgz
--2023-08-18 08:48:42--  https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.8.4/harbor-offline-installer-v2.8.4.tgz
正在解析主机 ghproxy.com (ghproxy.com)... 192.9.132.155
正在连接 ghproxy.com (ghproxy.com)|192.9.132.155|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度: 608175520 (580M) [application/octet-stream]
正在保存至: ‘harbor-offline-installer-v2.8.4.tgz’

harbor-offline-installer-v2.8.4.tgz           100%[==============================================================================================>] 580.00M  4.40MB/s    用时 2m 9s

2023-08-18 08:50:52 (4.49 MB/s) - 已保存 ‘harbor-offline-installer-v2.8.4.tgz’ [608175520/608175520])

zhuzl@zhuzl-M9-PRO:/data/software$ 

二、解压安装包

文件下载下来是一个以 .tgz 格式结尾的压缩文件,我们可以直接使用 tar 解压,解压命令为(需替换X.Y.Z为下载对应的版本):

tar -zxvf harbor-offline-installer-vX.Y.Z.tgz

解压记录如下:

zhuzl@zhuzl-M9-PRO:/data/software$ tar -zxvf harbor-offline-installer-v2.8.4.tgz
harbor/harbor.v2.8.4.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
zhuzl@zhuzl-M9-PRO:/data/software$ 

三、配置及安装

搜了下网上的课程,大多都是从配置证书开始的,我部署应用时一般都是应用开启http服务,使用nginx代理的时候再使用SSL证书对外提供https的访问。

3.1 配置

拷贝解压出来的 harbor.yml.tmpl 文件为 harbor.yml。修改这个配置文件。主要有如下信息需要修改的地方:

  • hostname: 修改为域名
  • https: 根据需要配置,我本处是直接注释掉了
  • harbor_admin_password:管理员密码
  • data_volume: harbor数据目录,这是宿主机的文件目录
修改后执行初始化:

./prepare

初始化日志记录日下:

zhuzl@zhuzl-M9-PRO:/data/dockerRoot/apps/harbor$ ./prepare
prepare base dir is set to /data/dockerRoot/apps/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
zhuzl@zhuzl-M9-PRO:/data/dockerRoot/apps/harbor$

初始化完成后,会在当前目录生成 `docker-compose.yml`文件,此时,我们可以使用 `docker compose` 启动docker 服务啦,日志记录如下:

zhuzl@zhuzl-M9-PRO:/data/dockerRoot/apps/harbor$ sudo docker compose up -d
[+] Running 9/9
✔ Container harbor-log Started 0.3s
✔ Container redis Started 0.7s
✔ Container registry Started 1.1s
✔ Container registryctl Started 0.9s
✔ Container harbor-portal Started 0.8s
✔ Container harbor-db Started 1.1s
✔ Container harbor-core Started 1.5s
✔ Container nginx Started 2.0s
✔ Container harbor-jobservice Started 2.1s
zhuzl@zhuzl-M9-PRO:/data/dockerRoot/apps/harbor$


对了,执行`docker compose`的时候一定要用`sudo`,否则会出现文件权限相关的报错。
启动完成后,可以通过 `nginx` 配置代理的方式对外提供服务,配置好后,访问出现如下图所示的登录界面:
![harbor 登录界面](https://blog.zhuzhilong.cn/usr/uploads/2023/08/2381568293.png)
在登录界面可以使用管理员账号 admin,进行登录,密码为在`harbor.yml` 文件中`harbor_admin_password` 配置的默认密码。

登录成功后,主界面如下图所示:
![Harbor主界面](https://blog.zhuzhilong.cn/usr/uploads/2023/08/3334557343.png)


0

评论 (0)

取消