harbor镜像仓库搭建

harbor部署

  1. 去github下载docker-compose

    1
    2
    3
    4
    5
    # 移动docker-compose到/usr/local/bin/文件夹,若没有全局可移动到/usr/bin
    mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
    cd /usr/local/bin
    # 更改权限
    chmod +x docker-compose
  2. 部署harbor

    1. 去github下载harbor离线安装包

    2. 准备ssl证书
      ssl证书生成 ssl自建证书

    3. 安装harbor

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
       
      # 解压harbor离线安装包
      tar -zxvf harbor-offline-installer-v2.9.1.tgz

      # 进入到解压后的harbor文件夹
      cd harbor/

      # 复制一份harbor的配置文件
      cp harbor.yml.tmpl harbor.yml
      # 修改配置文件可参考下方的配置文件
      vim harbor.yaml

      # 开始安装
      ./install.sh --with-trivy


      #--------在拥有docker-compose.yml的文件夹下--------------
      # 启动harbor命令
      docker-compose up -d
      # 关闭harbor命令
      docker-compose down
    4. 为docker配置自建文件

      官方文档

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      # docker自建证书存放位置
      # /etc/docker/certs.d/hostname:port/**.cert
      # 转换成docker需要的证书格式
      # openssl x509 -inform PEM -in harbor_server.crt -out harbor_server.cert

      # 建立文件夹
      sudo mkdir -p /etc/docker/certs.d/192.168.1.1:8080/
      # 将证书文件全部复制到docker的文件夹中
      sudo cp harbor_server.* /etc/docker/certs.d/192.168.1.1:808/
      # 测试是否能够登录成功
      sudo docker login 192.168.1.1:8080

      证书寻找路径

      1
      2
      3
      4
      5
      6
      /etc/docker/certs.d/        <-- Certificate directory
      |------- localhost:5000 <-- Hostname:port // 如果没有端口不用加端口默认443
      |------- client.cert <-- Client certificate
      |------- client.key <-- Client key
      |------- ca.crt <-- Root CA that signed
      the registry certificate, in PEM

harbor.yml 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# 具体可查看harbor.yml.tmpl
hostname: 192.168.1.1.1 # harbor的外网访问地址或域名(无需端口)

http:
port: 80 #http访问是的端口,若配置https会跳转的https

https:
port: 443 # https端口
certificate: /home/xxiao/harbor/harbor_server.crt #证书
private_key: /home/xxiao/harbor/harbor_server.key #证书

harbor_admin_password: harbor # harbor 登录密码,账号通常为admin

database:
password: harbor
max_idle_conns: 100
max_open_conns: 900
conn_max_lifetime: 5m
conn_max_idle_time: 0

data_volume: /home/xxiao/harbor/data # 数据存放的位置

trivy:
ignore_unfixed: false
skip_update: false
offline_scan: false
security_check: vuln
insecure: false

jobservice:
max_job_workers: 10
job_loggers:
- STD_OUTPUT
- FILE
logger_sweeper_duration: 1 #days

notification:
webhook_job_max_retry: 3
webhook_job_http_client_timeout: 3 #seconds

log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /home/xxiao/harbor/log # 日志存放位置

_version: 2.9.0

proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- trivy

upload_purging:
enabled: true
age: 168h
interval: 24h
dryrun: false
cache:
enabled: false
expire_hours: 24


harbor镜像仓库搭建
http://xxiao.top/2023/12/09/harbor镜像仓库搭建/
作者
XiaoXiao
发布于
2023年12月9日
许可协议