在CentOS 7上高效部署Harbor镜像仓库指南

在 CentOS 7 上安装部署 Harbor 镜像仓库

在容器化技术日益普及的今天,如何高效管理容器镜像成为开发者及企业关注的焦点。Harbor 作为一款开源的企业级 Docker Registry 管理工具,提供了镜像存储、权限控制、安全扫描等丰富功能,成为众多团队的首选。本文将详细阐述在 CentOS 7 系统上安装部署 Harbor 镜像仓库的全过程,帮助读者快速搭建起一个稳定可靠的镜像管理平台。

一、环境准备

1.1 系统要求

  • 操作系统:CentOS 7(64位)
  • 硬件配置:建议至少2核CPU、4GB内存、20GB磁盘空间(根据实际需求调整)
  • 网络连接:确保服务器能够访问互联网,以便下载依赖包

1.2 安装必要工具

在开始安装前,需确保系统已安装以下工具:

  1. yum install -y wget curl git
  • wget:用于下载文件
  • curl:用于测试网络连接及API调用
  • git:用于克隆Harbor源代码(可选,若使用预编译包则无需)

二、安装Docker

Harbor运行在Docker容器中,因此首先需要安装Docker。

2.1 添加Docker官方仓库

  1. sudo yum install -y yum-utils
  2. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.2 安装Docker CE

  1. sudo yum install -y docker-ce docker-ce-cli containerd.io

2.3 启动Docker服务

  1. sudo systemctl start docker
  2. sudo systemctl enable docker

2.4 验证Docker安装

  1. sudo docker run hello-world

若看到“Hello from Docker!”的输出,则表明Docker安装成功。

三、安装Harbor

3.1 下载Harbor安装包

访问Harbor官方GitHub仓库(https://github.com/goharbor/harbor/releases),下载最新版本的离线安装包。例如:

  1. wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz

3.2 解压安装包

  1. tar xvf harbor-offline-installer-v2.5.0.tgz -C /opt/

3.3 配置Harbor

进入解压后的目录,编辑harbor.yml配置文件:

  1. cd /opt/harbor
  2. vi harbor.yml

主要修改项包括:

  • hostname:设置为服务器的IP地址或域名
  • http.port:HTTP访问端口,默认为80
  • database.password:数据库密码(可选,默认生成)
  • harbor_admin_password:Harbor管理员密码
  • data_volume:数据存储路径,默认为/data

3.4 安装并启动Harbor

执行安装脚本:

  1. sudo ./install.sh

安装完成后,Harbor服务将自动启动。可通过以下命令检查服务状态:

  1. docker-compose ps

四、配置Nginx(可选)

若需通过HTTPS访问Harbor,可配置Nginx作为反向代理。

4.1 安装Nginx

  1. sudo yum install -y nginx

4.2 配置Nginx

编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/目录下),添加如下配置:

  1. server {
  2. listen 443 ssl;
  3. server_name your.domain.com;
  4. ssl_certificate /path/to/your/cert.pem;
  5. ssl_certificate_key /path/to/your/key.pem;
  6. location / {
  7. proxy_pass http://127.0.0.1:8080; # 假设Harbor运行在8080端口
  8. proxy_set_header Host $host;
  9. proxy_set_header X-Real-IP $remote_addr;
  10. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  11. }
  12. }

4.3 重启Nginx服务

  1. sudo systemctl restart nginx
  2. sudo systemctl enable nginx

五、使用Harbor

5.1 登录Harbor

使用管理员账号登录Harbor Web界面(http://your.server.ip 或 https://your.domain.com),初始账号为`admin`,密码为配置文件中设置的`harbor_admin_password`。

5.2 创建项目

在Web界面中,点击“新建项目”,输入项目名称,设置访问级别(公开或私有),点击“确定”即可创建。

5.3 推送镜像

使用Docker命令行工具推送镜像到Harbor:

  1. docker login your.server.ip
  2. docker tag your-image:tag your.server.ip/your-project/your-image:tag
  3. docker push your.server.ip/your-project/your-image:tag

5.4 拉取镜像

从Harbor拉取镜像:

  1. docker pull your.server.ip/your-project/your-image:tag

六、维护与升级

6.1 日常维护

  • 定期备份:备份Harbor的数据库及配置文件
  • 日志监控:通过docker-compose logs查看服务日志
  • 资源监控:使用docker stats监控容器资源使用情况

6.2 升级Harbor

升级前,请确保备份所有数据。升级步骤大致如下:

  1. 下载新版本的Harbor安装包
  2. 停止Harbor服务:docker-compose down
  3. 替换旧版本文件
  4. 更新配置文件(如有必要)
  5. 重新运行安装脚本:sudo ./install.sh
  6. 启动Harbor服务:docker-compose up -d

七、总结

通过本文的详细介绍,读者应已掌握在CentOS 7系统上安装部署Harbor镜像仓库的全过程。从环境准备、Docker安装、Harbor配置到日常使用与维护,每一步都至关重要。Harbor的引入将极大提升团队在容器镜像管理方面的效率与安全性,为容器化应用的持续集成与部署提供有力支撑。希望本文能为广大开发者及企业用户带来实质性的帮助。