手把手教你使用云服务器搭建Harbor私有镜像仓库
随着容器技术的普及,企业越来越需要一个安全可靠的私有镜像仓库来管理Docker镜像。本文将详细介绍如何使用云服务器从零开始搭建Harbor私有镜像仓库,包含详细的配置步骤和常见问题解决方案。
一、Harbor简介与准备工作
1.1 Harbor是什么?
Harbor是由VMware公司开源的企业级Docker Registry服务,提供了镜像存储、用户管理、访问控制、活动审计等企业级功能。相较于官方Docker Registry,Harbor具有更完善的安全机制和更丰富的功能。
1.2 准备工作
- 云服务器配置:建议至少2核4G内存,50G以上存储空间
- 操作系统:推荐使用Ubuntu 18.04/20.04或CentOS 7/8
- 软件依赖:Docker 18.06+,Docker Compose 1.22.0+
二、详细安装步骤
2.1 安装Docker和Docker Compose
# 安装Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
# 安装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
2.2 下载Harbor安装包
访问Harbor GitHub Release页面,下载最新版本的离线安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
tar xvf harbor-offline-installer-v2.4.0.tgz
cd harbor
2.3 配置Harbor
修改harbor.yml配置文件:
hostname: your-domain.com # 修改为你的域名或IP
http:
port: 80
https:
port: 443
certificate: /your/certificate/path
private_key: /your/private/key/path
harbor_admin_password: Harbor12345 # 修改admin默认密码
data_volume: /data # 数据存储路径
三、启动与验证
3.1 安装并启动Harbor
sudo ./install.sh
安装完成后,访问http://your-server-ip即可看到Harbor登录界面。
3.2 登录与测试
使用admin账户和配置的密码登录,创建新项目并测试推送镜像:
docker login your-server-ip
docker tag hello-world your-server-ip/library/hello-world
docker push your-server-ip/library/hello-world
四、安全配置与优化
4.1 HTTPS配置
强烈建议配置HTTPS访问:
- 申请SSL证书(可以使用Let's Encrypt免费证书)
- 修改harbor.yml中的https配置项
- 重新运行./install.sh --with-notary --with-clair --with-chartmuseum
4.2 备份与恢复
定期备份Harbor数据:
# 备份
docker-compose stop
tar czvf harbor-backup-$(date +"%Y%m%d").tar.gz /data /harbor
# 恢复
tar xzvf harbor-backup-20220101.tar.gz -C /
cd /harbor
docker-compose up -d
五、常见问题解决
5.1 端口冲突问题
如果80/443端口被占用,可以修改harbor.yml中的端口配置,然后使用Nginx反向代理。
5.2 存储空间不足
定期清理不需要的镜像,或者扩展云服务器的存储空间。
5.3 性能优化
- 为Harbor配置单独的存储卷
- 增加Redis缓存配置
- 根据访问量调整各组件资源限制
通过本文的详细指导,您应该已经成功在云服务器上搭建了Harbor私有镜像仓库。Harbor作为企业级解决方案,能够很好地满足团队协作和安全管理需求。建议定期更新Harbor版本以获取最新功能和安全修复。
