Harbor私有仓库搭建
1 软件环境
Software | Version |
---|---|
Docker engine | 20.10.21 |
Docker Compose | 1.29.2 |
Openssl | 3.0.2 |
Harbor | 2.8.0 |
2 安装Harbor
2.1 下载Harbor离线安装文件
wget https://storage.googleapis.com/harbor-releases/release-2.8.0/harbor-offline-installer-v2.8.0.tgz
解压
tar xvf harbor-offline-installer-v2.8.0.tgz
2.2 修改配置文件
cd harbor/
vi harbor.yml
修改
hostname = 192.168.0.2
这里只是简单的测试,所以只编辑这一行,其他的默认不做修改;可根据实际情况做修改!
配置 trivy 使用离线漏洞数据库
trivy:
skip_update: true
offline_scan: true
后续修改配置都要重新生成配置文件
./prepare
2.3 配置docker私有仓库
因为docker默认使用的是https连接,而harbor默认使用http连接,所以需要修改docker配置标志insecure registry
不安全仓库的主机。当然,harbor也可以设置为https
添加私有仓库地址
cat << EOF >>/etc/docker/daemon.json
{
"insecure-registries": ["192.168.1.10"]
}
EOF
重启docker
systemctl daemon-reload
systemctl restart docker.service
2.4 启动harbor
./instsall.sh
安装带有Notary服务--with-notary
安装带有trivy服务--with-trivy
安装带有chart仓库服务--with-chartmuseum
其中Clair服务--with-clair
已弃用
安装Notary
要安装带有Notary服务的Harbor,请在运行时添加一个参数 install.sh
:
./install.sh --with-notary
对于安装 Notary 这个参数 ui_url_protocol必须设置为 “https”. 要配置HTTPS,请参考以下部分.
更多关于Notary和Docker内容信任的信息,请参考 Docker’s documentation.
安装带有 Trivy 服务,添加参数当运行 install.sh
:
./install.sh --with-trivy
使用 chart 仓库
安装带有chart仓库服务的Harbor, 添加参数当你运行install.sh
:
./install.sh --with-chartmuseum
如果你都想安装 Notary, Trivy and chart repository service ,你必须同时指定
./install.sh --with-notary --with-trivy --with-chartmuseum
会拉取好几个镜像下来,及检查环境:
✔ ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at https://harbor.qmerry.com.
For more details, please visit https://github.com/vmware/harbor .
到这里基本就安装成功了!
安装完成后会生成如下6个容器:
docker ps
6、验证
打开浏览器访问:http://192.168.1.10
登录私有仓库
docker login 192.168.1.10
Username: admin
Password: #(默认密码为:Harbor12345,可在harbor.yml文件中修改)
Login Succeeded
3 升级
3.1 关闭Harbor
cd harbor
docker-compose down -v
3.2 备份历史版本文件夹
cd ..
mv harbor harbor_bak
3.3 下载新版本
wget https://github.com/goharbor/harbor/releases/download/v2.8.1/harbor-offline-installer-v2.8.1.tgz
tar xf harbor-offline-installer-v2.8.1.tgz
3.4 修改配置文件
cd harbor
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
./prepare # 更新配置文件
3.5 安装新版本
Harbor v2.1 及之前的版本内置了 Clair 镜像扫描器,在 v2.2 中,Harbor使用了 Aqua Trivy 作为缺省扫描器。Clair 作为可选组件,仍然可以安装使用。
安装带有Notary服务--with-notary
安装带有trivy服务--with-trivy
安装带有chart仓库服务--with-chartmuseum
其中Clair服务--with-clair
已弃用
./install.sh --with-trivy
4 配置 Trivyb 离线漏洞库
4.1 使用oras下载漏洞数据库
下载 oras
wget https://github.com/oras-project/oras/releases/download/v1.1.0/oras_1.1.0_linux_amd64.tar.gz
tar -xf oras_1.1.0_linux_amd64.tar.gz
mv oras /usr/local/bin/
chmod +x /usr/local/bin/oras
进入 trivy 目录
cd /data/{harbor_data}/trivy-adapter/trivy/
下载 trivy-db 离线库
oras pull ghcr.io/aquasecurity/trivy-db:2
oras pull ghcr.m.daocloud.io/aquasecurity/trivy-db:2
下载 trivy-java-db 离线库
oras pull ghcr.io/aquasecurity/trivy-java-db:1
oras pull ghcr.m.daocloud.io/aquasecurity/trivy-java-db:1
将{harbor_data}
替换为你的 harbor 数据目录
解压离线库
tar -xf db.tar.gz -C db
tar -xf javadb.tar.gz -C java-db
rm -f db.tar.gz javadb.tar.gz
chown -R 10000:10000 db java-db