企业实战(6)修改Harbor镜像仓库默认存储路径

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 企业实战(6)修改Harbor镜像仓库默认存储路径

相关文章:


 以下文章包含了Harbor镜像仓库搭建所需环境以及部署使用、报错解决。


Docker与Docker Engine部署:https://blog.csdn.net/qq_44895681/article/details/105540702


Docker-Compose部署:https://blog.csdn.net/qq_44895681/article/details/105540333


Harbor镜像仓库部署使用:https://blog.csdn.net/qq_44895681/article/details/105558611


命令行登录Harbor仓库报错解决:https://blog.csdn.net/qq_44895681/article/details/105573702


 Harbor安装后的默认存储路径是/data/。在一般的实际部署中大概率有修改的需求。


 如下图所示,根据宿主机根目录磁盘不同,默认的容量可能不满足需求:

10.png

环境介绍:

CentOS 7.5
Docker 19.03.8
Docker Engine 19.03.8
Docker-compose 1.25.4
Harbor 1.5.0

修改Harbor存储路径:


1.创建harbor存储目录:

[root@harbor ~]# cd /mnt/
[root@harbor mnt]# mkdir harbordata
[root@harbor ~]# cd /mnt/harbor
[root@harbor harbor]# docker-compose down -v   //停止并移除整个project的所有services
Stopping harbor-jobservice  ... done
Stopping nginx              ... done
Stopping harbor-ui          ... done
Stopping redis              ... done

2.修改harbor.cfg文件

[root@harbor harbor]# vim harbor.cfg     //修改harbor目录下harbor.cfg配置文件
secretkey_path = /mnt/harbordata      //更改harbor存储目录

3.修改docker-compose.yml文件

[root@harbor harbor]# vim docker-compose.yml   //修改harbor目录下docker-compose.yml
version: '2'
services:
  log:
    image: vmware/harbor-log:v1.5.0
    container_name: harbor-log
    restart: always
    volumes:
      - /var/log/harbor/:/var/log/docker/:z
      - ./common/config/log/:/etc/logrotate.d/:z
    ports:
      - 127.0.0.1:1514:10514
    networks:
      - harbor
  registry:
    image: vmware/registry-photon:v2.6.2-v1.5.0
    container_name: registry
    restart: always
    volumes:
      - /mnt/harbordata/registry:/storage:z      //更改harbor存储目录
      - ./common/config/registry/:/etc/registry/:z
    networks:
      - harbor
    environment:
      - GODEBUG=netdns=cgo
    command:
      ["serve", "/etc/registry/config.yml"]
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "registry"
  mysql:
    image: vmware/harbor-db:v1.5.0
    container_name: harbor-db
    restart: always
    volumes:
      - /mnt/harbordata/database:/var/lib/mysql:z    //更改harbor存储目录
    networks:
      - harbor
    env_file:
      - ./common/config/db/env
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "mysql"
  adminserver:
    image: vmware/harbor-adminserver:v1.5.0
    container_name: harbor-adminserver
    env_file:
      - ./common/config/adminserver/env
    restart: always
    volumes:
      - /mnt/harbordata/config/:/etc/adminserver/config/:z    //更改harbor存储目录
      - /mnt/harbordata/secretkey:/etc/adminserver/key:z     //更改harbor存储目录
      - /mnt/harbordata/:/data/:z        //更改harbor存储目录
    networks:
      - harbor
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "adminserver"
  ui:
    image: vmware/harbor-ui:v1.5.0
    container_name: harbor-ui
    env_file:
      - ./common/config/ui/env
    restart: always
    volumes:
      - ./common/config/ui/app.conf:/etc/ui/app.conf:z
      - ./common/config/ui/private_key.pem:/etc/ui/private_key.pem:z
      - ./common/config/ui/certificates/:/etc/ui/certificates/:z
      - /mnt/harbordata/secretkey:/etc/ui/key:z    //更改harbor存储目录
      - /mnt/harbordata/ca_download/:/etc/ui/ca/:z    //更改harbor存储目录
      - /mnt/harbordata/psc/:/etc/ui/token/:z     //更改harbor存储目录
    networks:
      - harbor
    depends_on:
      - log
      - adminserver
      - registry
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "ui"
  jobservice:
    image: vmware/harbor-jobservice:v1.5.0
    container_name: harbor-jobservice
    env_file:
- ./common/config/jobservice/env
    restart: always
    volumes:
      - /mnt/harbordata/job_logs:/var/log/jobs:z     //更改harbor存储目录
      - ./common/config/jobservice/config.yml:/etc/jobservice/config.yml:z
    networks:
      - harbor
    depends_on:
      - redis
      - ui
      - adminserver
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "jobservice"
  redis:
    image: vmware/redis-photon:v1.5.0
    container_name: redis
    restart: always
    volumes:
      - /mnt/harbordata/redis:/data     //更改harbor存储目录
    networks:
      - harbor
    depends_on:
      - log
    logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "redis"
  proxy:
    image: vmware/nginx-photon:v1.5.0
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    ports:
      - 80:80
      - 443:443
      - 4443:4443
    depends_on:
      - mysql
      - registry
      - ui
      - log
       logging:
      driver: "syslog"
      options:
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "proxy"
networks:
  harbor:
    external: false
[root@harbor harbor]# ./prepare  
[root@localhost harbor]# docker-compose up -d  //构建(容器)并启动(容器)整个project的所有service

4.访问Harbor查看存储容量

image.png12.png

访问harbor后可以看到镜像存储容量已经变成98G,就是我们定义的/mnt/harbordata的容量。


[root@harbor ~]# ls /mnt/harbordata/     //可以看到新建这个目录下已经有harbor生成的文件
ca_download  config  database  job_logs  psc  redis  registry  secretkey

注意:


 在整个部署过程中,不要手动修改上述关联挂载路径下的内容。若要修改相关内容,一定要保证在容器完全移除(docker-compose down)的前提下进行。

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5天前
|
运维 Linux Docker
安装Harbor镜像仓库
本文介绍了如何在Linux系统上安装和配置Harbor镜像仓库。首先通过阿里云镜像源安装Docker,然后下载并解压Harbor离线安装包。配置Harbor服务的相关参数。最后,通过运行安装脚本完成Harbor的安装,并进行基本的测试,包括登录、构建和推送Docker镜像。文章还提供了相关资源链接,方便读者进一步了解和学习。
17 2
|
1月前
|
Kubernetes Ubuntu NoSQL
harbor镜像仓库自建
harbor镜像仓库自建
|
4月前
|
数据可视化 Linux 数据安全/隐私保护
Harbor私有镜像仓库搭建
Harbor私有镜像仓库搭建
66 3
|
3月前
|
Docker 容器
docker: 搭建 harbor 镜像仓库
docker: 搭建 harbor 镜像仓库
|
6月前
|
存储 API 数据安全/隐私保护
企业级Docker镜像仓库Harbor部署与使用
企业级Docker镜像仓库Harbor部署与使用
|
6月前
|
存储 安全 数据库
搭建Harbor镜像仓库
搭建Harbor镜像仓库
312 2
|
6月前
|
JavaScript Devops Java
DevOps搭建(一)-安装Harbor镜像仓库详细步骤
DevOps搭建(一)-安装Harbor镜像仓库详细步骤
104 0
|
6月前
|
虚拟化 Docker Windows
win10使用Docker以及在天池比赛上提交容器镜像文件
win10使用Docker以及在天池比赛上提交容器镜像文件
168 1
|
1月前
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
151 0
|
3月前
|
存储 运维 数据安全/隐私保护
如何高效利用阿里云Docker镜像仓库管理您的容器镜像
如何高效利用阿里云Docker镜像仓库管理您的容器镜像