docker compose部署单机harbor使用外部postgresql,redis数据源

409 阅读2分钟

前言:使用外部数据库需要先启动redis,postgresql服务

一、离线安装

离线安装包

  1. 解压 tar -zxvf ./harbor-offline-installer-v2.11.2.tgz并进入解压后harbor里
  2. postgresql里新建harbor数据库
  3. 复制并修改配置文件 cp harbor.yml.tmpl harbor.yml vi harbor.yml,主要修改数据源部分。
hostname: 192.168.31.167    # 机器域名或者ip
http:
  port: 80    # 配置http协议,注销https协议
harbor_admin_password: 123456  # harbor控制台密码
database:       
  password: 123456 # db密码
  max_idle_conns: 10
  max_open_conns: 90
  conn_max_lifetime: 5m
  conn_max_idle_time: 0
data_volume: /srv/harbor/data
trivy:
  ignore_unfixed: false
  skip_update: false
  skip_java_db_update: false
  offline_scan: false
  security_check: vuln
  insecure: false
  timeout: 5m0s
jobservice:
  max_job_workers: 2
  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: 5
    rotate_size: 100M
    location: /srv/harbor/logs
_version: 2.11.0
external_database:  # 取消该部分注释。配置对接外接数据库,即上面创建的pg
   harbor:
     host: 192.168.31.167    # pg访问的ip和端口
     port: 5432
     db_name: harbor   # db,用户名,密码
     username: root
     password: 123456
     ssl_mode: disable
     max_idle_conns: 2
     max_open_conns: 0
external_redis:   # 取消该部分注释。配置对接外部的redis
   host: 192.168.31.167:6379    # redis ip和端口
   password: 123456    # redis密码
   registry_db_index: 1
   jobservice_db_index: 2
   trivy_db_index: 5
   idle_timeout_seconds: 30
proxy:
  http_proxy:
  https_proxy:
  no_proxy:
  components:
    - core
    - jobservice
    - trivy
upload_purging:a
  enabled: true
  age: 168h
  interval: 24h
  dryrun: false
cache:
  enabled: false
  expire_hours: 24

  1. 执行安装脚本sh ./install.sh,执行完后,当前目录会多一个docker-compose.yml,后面都通过此文件管理harbor服务。

image.png

二、访问

http://192.168.31.167:80 默认访问端口为80,默认用户名admin 123456(密码为上面配置)

image.png

三、配置docker,测试dokcer登录到harbor

  1. 修改docker配置,信任此镜像仓库。vi /etc/docker/daemon.json加入下面内容
"insecure-registries":["192.168.31.167:80"]

#重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

2. 测试登录:
docker login -uadmin 192.168.31.167:80

image.png