Harbor 企业仓库
Harbor 是企业级私有镜像仓库,提供 UI、权限、扫描等高级功能。
部署 Harbor
下载安装
Bash
# 下载
wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz
tar xzf harbor-offline-installer-v2.9.0.tgz
cd harbor
配置
YAML
# harbor.yml
hostname: harbor.example.com
http:
port: 80
https:
port: 443
certificate: /path/to/cert.crt
private_key: /path/to/cert.key
harbor_admin_password: Harbor12345
database:
password: db_password
data_volume: /data/harbor
安装
Bash
# 准备配置
./prepare
# 安装启动
docker compose up -d
# 访问
# http://harbor.example.com
# 用户名: admin
# 密码: Harbor12345
项目管理
创建项目
Bash
# 登录后创建项目
# Web UI: 项目 → 新建项目
# 名称: my-project
# 访问级别: 私有
# 或使用 API
curl -u admin:Harbor12345 -X POST \
https://harbor.example.com/api/v2.0/projects \
-H "Content-Type: application/json" \
-d '{"project_name": "my-project", "metadata": {"public": "false"}}'
推送镜像
Bash
# 登录
docker login harbor.example.com
Username: admin
Password: Harbor12345
# 标记镜像
docker tag nginx:latest harbor.example.com/my-project/nginx:latest
# 推送
docker push harbor.example.com/my-project/nginx:latest
权限管理
用户角色
| 角色 | 权限 |
|---|---|
| 访客 | 拉取镜像 |
| 开发者 | 拉取 + 推送 |
| 维护者 | 拉取 + 推送 + 删除 |
| 项目管理员 | 所有权限 |
添加成员
Bash
# Web UI: 项目 → 成员 → 新建成员
# 选择用户和角色
# 或使用 API
curl -u admin:Harbor12345 -X POST \
https://harbor.example.com/api/v2.0/projects/1/members \
-H "Content-Type: application/json" \
-d '{"role_id": 2, "member_user": {"username": "dev_user"}}'
漏洞扫描
Bash
# 启用 Trivy 扫描
# harbor.yml 配置
trivy:
ignore_unfixed: false
skip_update: false
offline_scan: false
insecure: false
# 扫描镜像
# Web UI: 镜像 → 扫描
# 查看 CVE 漏洞报告
复制策略
配置远程复制
Bash
# Web UI: 仓库管理 → 复制管理 → 新建规则
# 源: 当前 Harbor
# 目标: 远程 Harbor/其他仓库
# 触发: 手动/自动
# 复制到远程
curl -u admin:Harbor12345 -X POST \
https://harbor.example.com/api/v2.0/replication/policies \
-H "Content-Type: application/json" \
-d '{
"name": "replicate-to-backup",
"src_registry": {"id": 1},
"dest_registry": {"id": 2},
"trigger": {"type": "manual"}
}'
要点总结
- Harbor 是企业级私有镜像仓库,提供 UI、权限、扫描等功能
- 通过 harbor.yml 配置,docker compose 部署
- 项目权限分访客/开发者/维护者/管理员四级
- 集成 Trivy 漏洞扫描,查看 CVE 报告
- 支持复制策略,实现多仓库同步
📝 发现内容有误?点击此处直接编辑