一、描述
Harbor安装后的默认存储路径是/data/。在一般的实际部署中大概率有修改的需求。如下图所示,根据宿主机根目录磁盘不同,默认的容量可能不满足需求:
二、修改Harbor默认存储路径
第一步:创建新的存储路径
mkdir -p /volume1/install/harbor
第二步:停止并移除整个project的所有services
# 进入安装目录 cd /harbor-1.10.3 # 停止并移除整个project的所有services docker-compose down -v
第三步:修改harbor.yml配置文件
# 修改/harober-1.10.3/harbor下面的harbor.yml配置文件 root@DiskStation:/harbor-1.10.3/harbor# vim harbor.yml # 将路径改成新创建的数据路径 data_volume: /volume1/docker/harbor/data
第四步:修改docker-compose.yml文件
[root@DiskStation:/harbor-1.10.3/harbor]# vim docker-compose.yml
version: '2.3' services: log: image: goharbor/harbor-log:v1.10.3 container_name: harbor-log restart: always dns_search: . cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - SETGID - SETUID volumes: - /volume1/docker/harbor/logs/:/var/log/docker/:z # 修改docker-compose.yml文件 - type: bind source: ./common/config/log/logrotate.conf target: /etc/logrotate.d/logrotate.conf - type: bind source: ./common/config/log/rsyslog_docker.conf target: /etc/rsyslog.d/rsyslog_docker.conf ports: - 127.0.0.1:1514:10514 networks: - harbor registry: image: goharbor/registry-photon:v1.10.3 container_name: registry restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /volume1/docker/harbor/data/registry:/storage:z # 修改docker-compose.yml文件 - ./common/config/registry/:/etc/registry/:z - type: bind source: /volume1/docker/harbor/data/secret/registry/root.crt # 修改docker-compose.yml文件 target: /etc/registry/root.crt networks: - harbor dns_search: . depends_on: - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "registry" registryctl: image: goharbor/harbor-registryctl:v1.10.3 container_name: registryctl env_file: - ./common/config/registryctl/env restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /volume1/docker/harbor/data/registry:/storage:z # 修改docker-compose.yml文件 - ./common/config/registry/:/etc/registry/:z - type: bind source: ./common/config/registryctl/config.yml target: /etc/registryctl/config.yml networks: - harbor dns_search: . depends_on: - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "registryctl" postgresql: image: goharbor/harbor-db:v1.10.3 container_name: harbor-db restart: always cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - SETGID - SETUID volumes: - /volume1/docker/harbor/data/database:/var/lib/postgresql/data:z # 修改docker-compose.yml文件 networks: harbor: dns_search: . env_file: - ./common/config/db/env depends_on: - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "postgresql" core: image: goharbor/harbor-core:v1.10.3 container_name: harbor-core env_file: - ./common/config/core/env restart: always cap_drop: - ALL cap_add: - SETGID - SETUID volumes: - /volume1/docker/harbor/data/ca_download/:/etc/core/ca/:z # 修改docker-compose.yml文件 - /volume1/docker/harbor/data/psc/:/etc/core/token/:z # 修改docker-compose.yml文件 - /volume1/docker/harbor/data/:/data/:z # 修改docker-compose.yml文件 - ./common/config/core/certificates/:/etc/core/certificates/:z - type: bind source: ./common/config/core/app.conf target: /etc/core/app.conf - type: bind source: /volume1/docker/harbor/data/secret/core/private_key.pem # 修改docker-compose.yml文件 target: /etc/core/private_key.pem - type: bind source: /volume1/docker/harbor/data/secret/keys/secretkey # 修改docker-compose.yml文件 target: /etc/core/key networks: harbor: dns_search: . depends_on: - log - registry - redis - postgresql logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "core" portal: image: goharbor/harbor-portal:v1.10.3 container_name: harbor-portal restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID - NET_BIND_SERVICE networks: - harbor dns_search: . depends_on: - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "portal" jobservice: image: goharbor/harbor-jobservice:v1.10.3 container_name: harbor-jobservice env_file: - ./common/config/jobservice/env restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /volume1/docker/harbor/data/job_logs:/var/log/jobs:z # 修改docker-compose.yml文件 - type: bind source: ./common/config/jobservice/config.yml target: /etc/jobservice/config.yml networks: - harbor dns_search: . depends_on: - core logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "jobservice" redis: image: goharbor/redis-photon:v1.10.3 container_name: redis restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID volumes: - /volume1/docker/harbor/data/redis:/var/lib/redis # 修改docker-compose.yml文件 networks: harbor: dns_search: . depends_on: - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "redis" proxy: image: goharbor/nginx-photon:v1.10.3 container_name: nginx restart: always cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID - NET_BIND_SERVICE volumes: - ./common/config/nginx:/etc/nginx:z networks: - harbor dns_search: . ports: - 5006:8080 depends_on: - registry - core - portal - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "proxy" networks: harbor: external: false
[root@DiskStation:/harbor-1.10.3/harbor]# ./prepare // 执行准备命令
[root@DiskStation:/harbor-1.10.3/harbor]# docker-compose up -d //构建(容器)并启动(容器)整个project的所有service
三、访问&查看修改后的存储空间
访问地址:http://192.168.191.247:5006,账号:admin,密码:Harbor12345
可以看到存储空间大小已经修改成功
四、注意事项
在整个部署过程中,不要手动修改上述关联挂载路径下的内容。若要修改相关内容,一定要保证在容器完全移除(docker-compose down)的前提下进行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了