:::info 视频演示 https://www.bilibili.com/video/BV1Lr4y127vY/ :::
💡 jenkins 使用 docker,用 nexus3 镜像仓库会出现异常,造成 nexus3 停止。
资源准备
harbor
# 下载
wget https://github.com/goharbor/harbor/releases/download/v2.3.3/harbor-offline-installer-v2.3.3.tgz
# 解压
tar -xvf harbor-offline-installer-v2.3.3.tgz
# 加载镜像
cd harbor && docker load -i ./harbor.v2.3.3.tar.gz
认证
复制证书到 certs 目录中
自签证书
修改配置
cp harbor.yml.tmpl harbor.yml
#
echo "hubDomain=hub.haifengat.com" >> ~/.bashrc
source ~/.bashrc
# hostname
sed -i "s#hostname:.*#hostname: ${hubDomain}#" harbor.yml
# SSL验证
sed -i "s#certificate:.*#certificate: $PWD/certs/${hubDomain}.pem#" harbor.yml
sed -i "s#private_key:.*#private_key: $PWD/certs/${hubDomain}.key#" harbor.yml
# 数据目录
sed -i "s#data_volume.*#data_volume: $PWD/data#" harbor.yml
安装
根据配置生成
./prepare
修改 docker-compose.yml
# 修改端口映射 hub.haifengat.com:8080 访问镜像仓库
sed -i "s#80:8080#8080:8080#g" docker-compose.yml
sed -i "s#$PWD#.#g" docker-compose.yml
服务启动
服务器或 docker 重启,harbor某些服务会启动失败,解决办法:
cat > /usr/lib/systemd/system/harbor.service << EOF
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=$(whereis docker-compose|cut -d ' ' -f 2) -f $PWD/docker-compose.yml up
ExecStop=$(whereis docker-compose|cut -d ' ' -f 2) -f $PWD/docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF
sudo chmod +x /usr/lib/systemd/system/harbor.service
sudo systemctl enable harbor
sudo systemctl start harbor
测试
docker login -u admin -p Harbor12345 hub.haifengat.com