:::info 视频演示 https://www.bilibili.com/video/BV1Lr4y127vY/ :::

💡 jenkins 使用 docker,用 nexus3 镜像仓库会出现异常,造成 nexus3 停止。

资源准备

harbor

  1. # 下载
  2. wget https://github.com/goharbor/harbor/releases/download/v2.3.3/harbor-offline-installer-v2.3.3.tgz
  3. # 解压
  4. tar -xvf harbor-offline-installer-v2.3.3.tgz
  5. # 加载镜像
  6. cd harbor && docker load -i ./harbor.v2.3.3.tar.gz

认证

复制证书到 certs 目录中

自签证书

自签证书 for nginx 百年

修改配置

  1. cp harbor.yml.tmpl harbor.yml
  2. #
  3. echo "hubDomain=hub.haifengat.com" >> ~/.bashrc
  4. source ~/.bashrc
  5. # hostname
  6. sed -i "s#hostname:.*#hostname: ${hubDomain}#" harbor.yml
  7. # SSL验证
  8. sed -i "s#certificate:.*#certificate: $PWD/certs/${hubDomain}.pem#" harbor.yml
  9. sed -i "s#private_key:.*#private_key: $PWD/certs/${hubDomain}.key#" harbor.yml
  10. # 数据目录
  11. sed -i "s#data_volume.*#data_volume: $PWD/data#" harbor.yml

安装

根据配置生成

  1. ./prepare

修改 docker-compose.yml

  1. # 修改端口映射 hub.haifengat.com:8080 访问镜像仓库
  2. sed -i "s#80:8080#8080:8080#g" docker-compose.yml
  3. sed -i "s#$PWD#.#g" docker-compose.yml

服务启动

服务器或 docker 重启,harbor某些服务会启动失败,解决办法:

  1. cat > /usr/lib/systemd/system/harbor.service << EOF
  2. [Unit]
  3. Description=Harbor
  4. After=docker.service systemd-networkd.service systemd-resolved.service
  5. Requires=docker.service
  6. Documentation=http://github.com/vmware/harbor
  7. [Service]
  8. Type=simple
  9. Restart=on-failure
  10. RestartSec=5
  11. ExecStart=$(whereis docker-compose|cut -d ' ' -f 2) -f $PWD/docker-compose.yml up
  12. ExecStop=$(whereis docker-compose|cut -d ' ' -f 2) -f $PWD/docker-compose.yml down
  13. [Install]
  14. WantedBy=multi-user.target
  15. EOF
  16. sudo chmod +x /usr/lib/systemd/system/harbor.service
  17. sudo systemctl enable harbor
  18. sudo systemctl start harbor

测试

  1. docker login -u admin -p Harbor12345 hub.haifengat.com

使用

  • 登录界面 hub.haifengat.com:8080
  • 创建项目 demo
  • docker push hub.haifengat.com/demo/hello

    Postgres 错误

  • 添加 privileged: true

  • 修复

    1. ./prepare --with-notary --with-chartmuseum --trivy
    2. docker-compose down -v
    3. docker-compose up -d
  • 升级 docker 至 docker-ce and docker-ce-cli to 20.10.8