Harbor 是一个开源注册中心,它使用策略和基于角色的访问控制来保护工件,确保镜像经过扫描且没有漏洞,并将镜像签名为可信。Harbor 是一个 CNCF 毕业项目,它提供合规性、性能和互操作性,可帮助你在 Kubernetes 和 Docker 等云原生计算平台上一致且安全地管理工件。
安装配置指南:https://goharbor.io/docs/2.12.0/install-config/
安装需求
硬件:
资源 | 最低 | 推荐 |
---|---|---|
CPU | 2 CPU | 4 CPU |
Mem | 4 GB | 8 GB |
Disk | 40 GB | 160 GB |
软件:
软件 | 版本 |
---|---|
Docker Engine | Version 20.10.10-ce+ or higher |
Docker Compose | docker-compose (v1.18.0+) or docker compose v2 (docker-compose-plugin) |
OpenSSL | Latest is preferred |
网络端口:
端口 | 协议 | 描述 |
---|---|---|
443 | HTTPS | Harbor 门户和核心 API 在此端口接受 HTTPS 请求。您可以在配置文件中更改此端口。 |
4443 | HTTPS | 连接到 Harbor 的 Docker Content Trust 服务。您可以在配置文件中更改此端口。 |
80 | HTTP | Harbor 门户和核心 API 在此端口接受 HTTP 请求。您可以在配置文件中更改此端口。 |
下载安装
你可以从官方发布页面下载 Harbor 安装程序。下载在线安装程序或离线安装程序。https://github.com/goharbor/harbor/releases/tag/v2.12.1(以v2.12.1为例)
- 在线安装程序:在线安装程序从 Docker hub 下载 Harbor 镜像。因此,安装程序非常小。
- 离线安装程序:如果要部署 Harbor 的主机没有连接到互联网,请使用离线安装程序。离线安装程序包含预构建的镜像,因此它比在线安装程序大。
在线和离线安装程序的安装过程几乎相同。
按照需求下载对应的安装包,以离线安装程序为例
使用 tar 提取安装程序包
tar xzvf harbor-offline-installer-v2.12.1.tgz
设置Harbor YML 配置文件
你可以在安装程序包中包含的 harbor.yml 文件中为 Harbor 设置系统级参数。当你运行 install.sh 脚本来安装或重新配置 Harbor 时,这些参数将生效。
初始部署后,启动 Harbor 后,你可以在 Harbor Web 网页中执行其他配置。
详细配置请见 参数配置
复制 harbor.yml.tmpl 文件并重命名为 harbor.yml
cp harbor.yml.tmpl harbor.yml
修改配置文件,一般我们只需要设置一下hostname、http端口、管理员密码,并注释https相关
运行启动脚本
你可以在不同的配置中安装 Harbor:
- 仅 Harbor,不使用 Trivy
- Harbor 和 Trivy
默认安装不包括 Trivy
默认 Harbor 安装不包括 Trivy 服务。运行以下命令
./install.sh
如果安装成功,您可以打开浏览器访问 Harbor 界面 http://reg.yourdomain.com,将 reg.yourdomain.com 更改为您在 harbor.yml 中配置的主机名。如果您没有在 harbor.yml 中更改它们,则默认管理员用户名和密码为 admin 和 Harbor12345。
使用 Trivy 安装
要使用 Trivy 服务安装 Harbor,请在运行 install.sh 时添加 --with-trivy 参数:
./install.sh --with-trivy
通过 HTTP 连接到 Harbor
重要提示:如果您安装的 Harbor 使用 HTTP 而不是 HTTPS,则必须将选项 --insecure-registry 添加到客户端的 Docker 守护程序。默认情况下,守护程序文件位于 /etc/docker/daemon.json。
例如,将以下内容添加到您的 daemon.json 文件中:(需要将myregistrydomain.com:5000修改为你的配置)
{
<