Harbor 私有镜像仓库安装教程
Harbor 是 CNCF 毕业项目,是一个企业级 Docker 镜像仓库,支持镜像管理、访问控制、漏洞扫描、复制同步等功能。官网:goharbor.io
🧰 一、环境准备
✅ 系统要求
- 操作系统:Ubuntu 20.04+ / CentOS 7+
- CPU:2 核以上
- 内存:4GB+
- 硬盘:100GB+(视镜像数量而定)
- 网络:可访问公网(用于下载依赖)
✅ 软件依赖
- Docker(建议 20.10+)
- Docker Compose(建议 v2.5+)
- openssl(用于生成证书)
📦 二、安装 Docker & Docker Compose
# 安装 Docker
curl -fsSL https://get.docker.com | bash# 安装 Docker Compose
curl -L https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose# 验证版本
docker -v
docker-compose -v
也可参考在服务器上安装 Docker文章
🌐 三、下载 Harbor 安装包
Harbor发布页:Github Releases
# 下载 Harbor 离线安装包(以 v2.14.0 为例)
wget https://github.com/goharbor/harbor/releases/download/v2.14.0/harbor-offline-installer-v2.14.0.tgz# 解压
tar -zxvf harbor-offline-installer-v2.14.0.tgz
cd harbor
🔐 四、配置 HTTPS(推荐生产环境使用)
✅ 生成自签名证书(如无正式证书)
mkdir -p /data/certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /data/certs/harbor.key -x509 -days 365 -out /data/certs/harbor.crt
填写信息时,Common Name 请填写你的域名(如 harbor.example.com)
⚙️ 五、修改配置文件 harbor.yml
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
关键配置项:
hostname: harbor.example.com # 改为你的域名或 IP
https:port: 443certificate: /data/certs/harbor.crtprivate_key: /data/certs/harbor.key
harbor_admin_password: StrongPassword123
🚀 六、安装 Harbor
./install.sh
使用 Trivy 服务安装 Harbor,请在运行时添加参数:--with-trivy
./install.sh --with-trivy
安装完成后,访问 https://harbor.example.com,使用 admin + 密码登录。
🧪 七、验证 Harbor 是否运行
docker ps
应看到多个容器运行,如 harbor-core, harbor-db, nginx, registry 等。
🧰 八、配置 Docker 客户端信任 Harbor
如果使用自签名证书:
# 将证书复制到 Docker 证书目录
mkdir -p /etc/docker/certs.d/harbor.example.com
cp /data/certs/harbor.crt /etc/docker/certs.d/harbor.example.com/ca.crt# 重启 Docker
systemctl restart docker
📤 九、推送镜像到 Harbor
# 登录 Harbor
docker login harbor.example.com# 打标签并推送
docker tag nginx:latest harbor.example.com/library/nginx:latest
docker push harbor.example.com/library/nginx:latest
🧯 十、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 登录失败 | 检查用户名密码,确认 Harbor 正常运行 |
| 证书错误 | 确保 Docker 客户端已信任 Harbor 证书 |
| 端口冲突 | 修改 harbor.yml 中的端口配置 |
| 安装失败 | 查看 install.log 日志定位问题 |
如需配置镜像复制、LDAP 登录、漏洞扫描或与 GitLab CI/CD 集成,可参考 Harbor 官方文档
