CentOS部署Harbor镜像仓库指南
在云计算和容器化技术迅猛发展的今天,Docker容器技术已成为企业IT架构中不可或缺的一部分。随着容器应用的普及,如何高效、安全地管理容器镜像成为了一个重要议题。Harbor作为一个开源的企业级Docker Registry项目,提供了镜像存储、访问控制、镜像签名等高级功能,极大地提升了镜像管理的安全性和效率。本文将详细介绍如何在CentOS系统上部署Harbor镜像仓库,为开发者提供一套可操作的指南。
一、环境准备
1.1 系统要求
Harbor支持在多种Linux发行版上运行,本文以CentOS 7或CentOS 8为例进行说明。确保你的CentOS系统满足以下基本要求:
- 操作系统:CentOS 7或CentOS 8(64位)
- 内存:至少4GB RAM(生产环境建议8GB以上)
- 磁盘空间:根据镜像存储需求而定,建议至少50GB可用空间
- CPU:双核或以上
1.2 网络配置
确保服务器能够访问互联网,以便下载Harbor安装包及其依赖。同时,根据实际需求配置好防火墙规则,开放必要的端口(如80、443、22等)。
二、安装依赖
2.1 安装Docker
Harbor依赖于Docker运行,因此首先需要安装Docker。在CentOS上,可以通过以下命令安装:
# 移除旧版本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
2.2 安装Docker Compose
Harbor推荐使用Docker Compose进行部署,因此需要安装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安装与配置
3.1 下载Harbor安装包
访问Harbor官方GitHub仓库(https://github.com/goharbor/harbor/releases),下载最新版本的Harbor安装包。例如,使用wget命令下载:
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
3.2 解压并配置Harbor
解压下载的Harbor安装包,并进入解压后的目录:
tar xvf harbor-offline-installer-v2.4.1.tgzcd harbor
编辑harbor.yml配置文件,根据实际需求修改以下关键配置:
- hostname:设置为你的服务器IP或域名
- http/https:配置监听端口,生产环境建议使用HTTPS
- certificate/private_key:如果使用HTTPS,需要配置证书和私钥路径
- database:数据库配置,默认使用内置的PostgreSQL
- harbor_admin_password:设置Harbor管理员密码
示例配置片段:
hostname: 192.168.1.100 # 替换为你的服务器IP或域名http:port: 80https:port: 443certificate: /path/to/your/certificate.crtprivate_key: /path/to/your/private.keydatabase:password: root123# 其他数据库配置...harbor_admin_password: Harbor12345
3.3 运行安装脚本
配置完成后,运行Harbor提供的安装脚本:
sudo ./install.sh
安装过程会自动下载所需的Docker镜像,并启动Harbor服务。安装完成后,你可以通过浏览器访问http://<hostname>或https://<hostname>(根据配置)来查看Harbor的Web界面。
四、Harbor使用指南
4.1 登录Harbor
使用管理员账号(默认用户名为admin,密码为你在harbor.yml中设置的密码)登录Harbor Web界面。
4.2 创建项目
在Harbor中,项目用于组织和管理镜像。登录后,点击“新建项目”按钮,输入项目名称,选择访问级别(公开或私有),点击“确定”即可创建项目。
4.3 推送和拉取镜像
推送镜像
-
登录Harbor Registry:
docker login <hostname>
输入用户名和密码进行登录。
-
标记镜像:
将本地镜像标记为Harbor Registry中的镜像。例如,将
nginx镜像标记为<hostname>/<project-name>/nginx:latest:docker tag nginx:latest <hostname>/<project-name>/nginx:latest
-
推送镜像:
docker push <hostname>/<project-name>/nginx:latest
拉取镜像
从Harbor拉取镜像的步骤与从Docker Hub拉取类似,只需指定完整的镜像路径即可:
docker pull <hostname>/<project-name>/nginx:latest
4.4 访问控制与用户管理
Harbor提供了细粒度的访问控制功能,允许管理员创建用户、分配角色和权限。在Web界面中,你可以:
- 创建用户:添加新用户,设置用户名、密码和邮箱。
- 分配角色:将用户分配到不同的项目,并设置相应的角色(如项目管理员、开发者、访客等)。
- 管理权限:为每个角色分配具体的权限,如推送镜像、拉取镜像、删除镜像等。
五、总结与展望
通过本文的介绍,我们详细了解了在CentOS系统上部署Harbor镜像仓库的全过程。从环境准备、依赖安装到Harbor的配置与使用,每一步都至关重要。Harbor作为企业级Docker Registry解决方案,不仅提供了高效的镜像存储和管理功能,还通过访问控制、镜像签名等高级特性增强了镜像管理的安全性和可靠性。
未来,随着容器化技术的不断发展,Harbor也将持续演进,提供更多创新功能和优化体验。对于开发者而言,掌握Harbor的部署和使用技巧,将有助于提升团队的开发效率和运维能力,推动企业IT架构的转型升级。希望本文能为你在CentOS上部署Harbor镜像仓库提供有益的参考和指导。