一、引言:Harbor 镜像仓库的重要性
在容器化技术日益普及的今天,镜像仓库作为容器镜像的存储和管理中心,扮演着至关重要的角色。Harbor 是一个由 VMware 开源的企业级私有镜像仓库解决方案,它提供了基于角色的访问控制、镜像复制、漏洞扫描、审计日志等高级功能,非常适合企业级应用场景。本文将详细介绍如何在 CentOS 7 系统上安装部署 Harbor 镜像仓库,帮助开发者及企业用户快速构建安全、高效的私有镜像仓库。
二、环境准备
1. 系统要求
- 操作系统:CentOS 7(64位)
- 内存:至少 4GB(推荐 8GB 或以上)
- 磁盘空间:根据镜像存储需求而定,建议至少 100GB
- CPU:双核或以上
2. 网络配置
确保服务器能够访问互联网,以便下载 Harbor 安装包及其依赖。同时,根据实际需求配置防火墙规则,允许必要的端口通信(如 80、443、22 等)。
3. 依赖安装
在安装 Harbor 之前,需要确保系统已安装以下依赖:
- Docker:Harbor 运行在 Docker 容器中,因此需要先安装 Docker。
- Docker Compose:Harbor 使用 Docker Compose 进行编排和管理。
- Git(可选):用于克隆 Harbor 的安装脚本或配置文件。
安装 Docker
# 添加 Docker 官方 GPG 密钥sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Docker CEsudo yum install -y docker-ce docker-ce-cli containerd.io# 启动 Docker 服务sudo systemctl start dockersudo systemctl enable docker
安装 Docker Compose
# 下载 Docker Compose 二进制文件sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 添加执行权限sudo chmod +x /usr/local/bin/docker-compose# 验证安装docker-compose --version
三、Harbor 安装与配置
1. 下载 Harbor 安装包
访问 Harbor 官方 GitHub 仓库(https://github.com/goharbor/harbor/releases),下载最新版本的 Harbor 安装包(通常为 .tar.gz 格式)。
# 示例:下载 Harbor 2.3.3 版本wget https://github.com/goharbor/harbor/releases/download/v2.3.3/harbor-offline-installer-v2.3.3.tgz# 解压安装包tar -zxvf harbor-offline-installer-v2.3.3.tgzcd harbor
2. 配置 Harbor
编辑 harbor.yml(或 harbor.cfg,取决于版本)配置文件,根据实际需求修改以下关键配置:
- hostname:Harbor 服务器的域名或 IP 地址。
- ui_url_protocol:访问协议(http 或 https)。
- db_password:数据库密码(用于内部数据库)。
- harbor_admin_password:Harbor 管理员密码。
- data_volume:镜像存储路径。
- certificate 和 private_key(如果使用 https):SSL 证书和私钥路径。
示例配置片段:
hostname: 192.168.1.100 # 替换为实际 IP 或域名ui_url_protocol: httpdb_password: root123harbor_admin_password: Harbor12345data_volume: /data/harbor# 如果使用 https,取消以下注释并配置证书和私钥# https:# certificate: /path/to/certificate.pem# private_key: /path/to/private_key.pem
3. 运行安装脚本
执行 install.sh 脚本启动安装过程:
sudo ./install.sh
安装过程中,脚本会自动下载所需的 Docker 镜像,并启动 Harbor 服务。安装完成后,会显示类似以下的成功信息:
✔ ----Harbor has been installed and started successfully.----
四、Harbor 使用与验证
1. 访问 Harbor Web 界面
打开浏览器,输入 http://<hostname>(或 https://<hostname> 如果配置了 https),使用默认管理员账号 admin 和配置文件中设置的密码登录。
2. 创建项目
在 Web 界面中,点击“新建项目”,输入项目名称(如 myproject),设置访问级别(公开或私有),点击“确定”创建项目。
3. 推送镜像到 Harbor
标记镜像
# 示例:标记一个本地镜像为 Harbor 仓库中的镜像docker tag nginx:latest 192.168.1.100/myproject/nginx:latest
登录 Harbor 仓库
docker login 192.168.1.100# 输入用户名(admin)和密码
推送镜像
docker push 192.168.1.100/myproject/nginx:latest
4. 验证镜像推送
在 Harbor Web 界面中,导航到“项目”->“myproject”->“仓库”,查看已推送的镜像。
五、高级配置与管理
1. 配置 HTTPS
为了确保数据传输安全,建议配置 HTTPS。生成 SSL 证书和私钥,修改 harbor.yml 配置文件,重新运行 install.sh 脚本。
2. 配置镜像复制
Harbor 支持镜像复制功能,可以在不同 Harbor 实例或其它镜像仓库(如 Docker Hub)之间同步镜像。在 Web 界面中,导航到“系统管理”->“复制管理”,添加复制规则。
3. 配置漏洞扫描
Harbor 集成了 Clair 漏洞扫描工具,可以自动扫描镜像中的安全漏洞。确保在 harbor.yml 中启用了漏洞扫描功能,并配置了 Clair 的相关参数。
4. 备份与恢复
定期备份 Harbor 的数据库和配置文件,以防数据丢失。可以使用 pg_dump 工具备份 PostgreSQL 数据库,备份配置文件至安全位置。
六、总结与展望
通过本文的详细介绍,我们成功在 CentOS 7 系统上安装部署了 Harbor 镜像仓库,并完成了基本的配置和使用。Harbor 作为企业级私有镜像仓库解决方案,提供了丰富的功能和强大的扩展性,能够满足各种复杂的容器化应用场景。未来,随着容器技术的不断发展,Harbor 也将持续迭代升级,为用户提供更加安全、高效的镜像管理服务。