Harbor 是一个开源的 Docker 镜像仓库管理平台,旨在提供更强大的企业级功能,支持私有 Docker 镜像仓库的管理。Harbor 为 Docker 提供了集中式的镜像管理服务,支持用户和权限管理、镜像版本控制、安全扫描、LDAP 集成等功能,是 Docker 镜像管理的最佳选择之一,特别适合需要高安全性、可扩展性的生产环境。
Harbor 作为私有 Docker 仓库的解决方案,通常用于公司或团队内部的镜像管理,能够提供更多的控制和安全性。
在部署 Harbor 之前,确保系统满足以下基本要求:
安装 Docker
sudo apt update
sudo apt install docker.io
安装 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
从 Harbor 官方 GitHub 页面下载最新的安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.3.3/harbor-offline-installer-v2.3.3.tgz
解压安装包:
tar -zxvf harbor-offline-installer-v2.3.3.tgz
cd harbor
配置 Harbor:
Harbor 提供了一个配置文件 harbor.yml
,在安装之前需要根据自己的需求进行修改。特别是以下字段:
harbor.example.com
)。db_auth
、ldap_auth
等)。修改 harbor.yml
文件:
hostname: harbor.example.com
http:
port: 80
配置完 harbor.yml
文件后,运行以下命令来启动 Harbor:
sudo ./install.sh
该命令将会使用 Docker Compose 启动 Harbor 所需的服务,包括 Web UI、Docker Registry、数据库等。
Harbor 的架构由多个服务组成,包括:
所有这些组件都通过 Docker Compose 进行编排和管理。
Harbor 提供了一个基于 Web 的图形界面,可以方便地管理镜像仓库、项目和用户权限。通过 Web UI,你可以:
访问 Harbor 的 Web UI:http://
,默认的登录用户是 admin
,密码为 Harbor12345
,可以在配置文件中修改。
Harbor 还提供了一个命令行工具 Harbor CLI,可以通过它来进行一些常见的管理操作,如推送镜像、查看镜像等。
# 登录 Harbor
docker login harbor.example.com
# 推送镜像到 Harbor
docker tag myimage:latest harbor.example.com/myproject/myimage:latest
docker push harbor.example.com/myproject/myimage:latest
Harbor 允许管理员创建多个用户,并为其分配不同的权限。通过 Web UI 或 API 可以管理用户的创建和权限。
Harbor 支持以下角色:
在 Harbor 中,镜像是存储在 项目 中的。管理员可以为每个项目设置不同的访问权限:
Harbor 支持 角色访问控制(RBAC),管理员可以为每个用户设置具体的操作权限。例如,某些用户可以仅访问某些特定项目,其他用户可能有更高的权限。
在 Harbor 中,你可以管理镜像的生命周期,包括推送、拉取、删除等操作。通过 Web UI,你可以轻松地管理镜像的版本、标签、删除无用的镜像等。
Harbor 支持将镜像从一个 Harbor 实例复制到另一个实例,通常用于实现跨地域的镜像同步。
你可以选择 镜像同步 的方式,如 实时同步、计划同步 或 手动同步。
Harbor 集成了 Clair 和 Trivy 安全扫描工具,用于扫描镜像中的安全漏洞。管理员可以启用镜像扫描功能,自动扫描每个上传的镜像,查看漏洞报告。
Harbor 还支持 镜像签名,通过 Notary 服务确保镜像在传输过程中未被篡改。镜像签名可以增加镜像的可信度,确保镜像的完整性和安全性。
Harbor 支持高可用部署模式,可以通过配置多个 Harbor 实例来实现负载均衡和故障恢复。常见的高可用配置方式包括: