CentOS部署Harbor镜像仓库全攻略
在容器化技术日益盛行的今天,构建私有镜像仓库成为企业保障应用安全、提升部署效率的关键一环。Harbor作为一款开源的企业级Docker Registry管理工具,以其强大的权限控制、镜像复制、漏洞扫描等功能,深受开发者青睐。本文将详细阐述如何在CentOS系统上部署Harbor镜像仓库,为开发者提供一份全面、实用的操作指南。
一、环境准备
1.1 系统要求
- 操作系统:CentOS 7或更高版本(推荐CentOS 8)。
- 硬件配置:至少2核CPU、4GB内存(根据实际使用需求调整)。
- 磁盘空间:根据存储镜像数量规划,建议不少于100GB。
- 网络环境:确保服务器能够访问互联网,或配置好内部网络环境。
1.2 安装依赖软件
在部署Harbor之前,需要安装Docker和Docker Compose,它们是Harbor运行的基础。
安装Docker
# 卸载旧版本(如果存在)sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 安装依赖sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加Docker仓库sudo 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 Composesudo 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安装与配置
2.1 下载Harbor安装包
访问Harbor官方GitHub仓库(https://github.com/goharbor/harbor/releases),下载最新版本的Harbor安装包。以Harbor v2.4.0为例:
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgztar xvf harbor-offline-installer-v2.4.0.tgzcd harbor
2.2 配置Harbor
编辑harbor.yml文件,根据实际需求修改以下关键配置:
- hostname:设置为服务器的IP地址或域名。
- http/https:根据安全需求选择协议,生产环境建议使用HTTPS。
- port:默认80(HTTP)或443(HTTPS),如有冲突需修改。
- certificate/private_key:若使用HTTPS,需配置证书和私钥路径。
- database:默认使用内置的PostgreSQL数据库,也可配置外部数据库。
- harbor_admin_password:设置Harbor管理员密码。
示例配置片段:
hostname: 192.168.1.100http:port: 80# https:# port: 443# certificate: /path/to/your/certificate.pem# private_key: /path/to/your/private_key.pemharbor_admin_password: Harbor12345
2.3 安装Harbor
执行以下命令启动Harbor安装:
sudo ./install.sh
安装过程中,脚本会自动下载依赖镜像、配置数据库、启动服务。安装完成后,访问http://<hostname>(或HTTPS地址),使用默认管理员账号(admin)和配置的密码登录。
三、Harbor使用与维护
3.1 镜像推送与拉取
推送镜像
- 登录Harbor:
docker login <harbor_hostname>
输入管理员账号或具有推送权限的用户名和密码。
- 标记镜像:
docker tag <local_image>:<tag> <harbor_hostname>/<project_name>/<image_name>:<tag>
- 推送镜像:
docker push <harbor_hostname>/<project_name>/<image_name>:<tag>
拉取镜像
docker pull <harbor_hostname>/<project_name>/<image_name>:<tag>
3.2 项目管理
Harbor支持多项目管理,管理员可以创建项目、设置访问权限、配置镜像复制规则等。
- 创建项目:登录Harbor Web界面,进入“项目”页面,点击“新建项目”。
- 设置权限:在项目设置中,可以配置用户或用户组的读写权限。
- 镜像复制:配置镜像复制规则,实现不同Harbor实例间的镜像同步。
3.3 维护与升级
日常维护
- 监控:使用Prometheus、Grafana等工具监控Harbor运行状态。
- 日志:定期检查Harbor日志文件(
/var/log/harbor/),排查潜在问题。 - 备份:定期备份Harbor数据库和配置文件,防止数据丢失。
升级Harbor
升级Harbor时,需先备份当前数据,然后下载新版本安装包,按照官方文档步骤进行升级。升级过程中,Harbor服务会短暂中断,建议在低峰期进行。
四、安全加固
4.1 HTTPS配置
生产环境必须启用HTTPS,以保障数据传输安全。配置步骤如下:
- 申请或生成SSL证书和私钥。
- 将证书和私钥文件放置在指定路径(如
/data/cert/)。 - 修改
harbor.yml文件,启用HTTPS并配置证书路径。 - 重新运行
./install.sh脚本,应用配置变更。
4.2 访问控制
- 用户认证:集成LDAP、OAuth2等认证方式,实现单点登录。
- IP白名单:在Harbor配置中设置IP白名单,限制访问来源。
- 审计日志:启用Harbor审计功能,记录所有用户操作。
五、总结与展望
通过本文的详细介绍,开发者应已掌握在CentOS系统上部署Harbor镜像仓库的全过程。Harbor的强大功能不仅提升了镜像管理的效率,更通过丰富的安全特性保障了容器环境的安全。未来,随着容器技术的不断发展,Harbor也将持续进化,为开发者提供更加便捷、安全的镜像管理服务。建议开发者定期关注Harbor官方文档,了解最新功能和最佳实践,不断优化自身的容器化部署方案。