Docker企业级容器镜像仓库Harbor搭建全攻略

Docker企业级容器镜像仓库Harbor搭建全攻略

在容器化技术日益普及的今天,如何高效、安全地管理Docker镜像成为企业关注的重点。Harbor作为一款开源的企业级Docker Registry管理工具,不仅提供了镜像存储、访问控制等基础功能,还集成了用户认证、镜像签名、漏洞扫描等高级特性,极大地提升了企业镜像管理的安全性和效率。本文将详细介绍Harbor的搭建与配置过程,帮助读者快速上手这一企业级容器镜像仓库。

一、环境准备

1.1 硬件与软件要求

  • 硬件要求:至少2核CPU、4GB内存、20GB可用磁盘空间(根据实际镜像存储需求调整)。
  • 软件要求:Linux操作系统(推荐CentOS 7/8或Ubuntu 18.04/20.04)、Docker CE或EE版本、Docker Compose。

1.2 安装Docker与Docker Compose

确保系统已安装Docker和Docker Compose。以CentOS 7为例:

  1. # 安装Docker
  2. sudo yum install -y yum-utils
  3. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. sudo yum install docker-ce docker-ce-cli containerd.io
  5. sudo systemctl start docker
  6. sudo systemctl enable docker
  7. # 安装Docker Compose
  8. 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
  9. sudo chmod +x /usr/local/bin/docker-compose

二、Harbor安装部署

2.1 下载Harbor安装包

访问Harbor官方GitHub仓库(https://github.com/goharbor/harbor/releases),下载最新版本的Harbor安装包。例如:

  1. wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
  2. tar xvf harbor-offline-installer-v2.4.0.tgz
  3. cd harbor

2.2 配置Harbor

编辑harbor.yml文件,根据实际需求修改以下关键配置:

  • hostname:Harbor服务器的域名或IP地址。
  • http/https:配置HTTP或HTTPS访问,推荐使用HTTPS以增强安全性。
  • certificate:若使用HTTPS,需配置SSL证书和私钥路径。
  • harbor_admin_password:设置Harbor管理员密码。
  • database:配置数据库连接信息(默认使用内置PostgreSQL)。
  • storage_driver:配置镜像存储驱动(如filesystem、s3等)。

示例配置片段:

  1. hostname: your.harbor.domain
  2. http:
  3. port: 80
  4. https:
  5. port: 443
  6. certificate: /path/to/your/certificate.pem
  7. private_key: /path/to/your/private_key.pem
  8. harbor_admin_password: Harbor12345
  9. database:
  10. password: root123
  11. max_idle_conns: 50
  12. max_open_conns: 100
  13. storage_driver:
  14. name: filesystem
  15. # s3配置示例
  16. # name: s3
  17. # s3:
  18. # accesskey: your_access_key
  19. # secretkey: your_secret_key
  20. # region: your_region
  21. # bucket: your_bucket

2.3 安装Harbor

执行安装脚本:

  1. sudo ./install.sh

安装完成后,Harbor服务将自动启动,可通过docker-compose ps查看服务状态。

三、Harbor基础配置

3.1 登录Harbor

使用浏览器访问Harbor的Web界面(如https://your.harbor.domain),使用管理员账号(默认用户名admin,密码为harbor.yml中配置的密码)登录。

3.2 创建项目

在Harbor Web界面中,点击“项目”->“新建项目”,输入项目名称(如myapp),设置访问级别(公开或私有),点击“确定”创建项目。

3.3 配置用户与角色

  • 用户管理:在“系统管理”->“用户管理”中,可添加、编辑或删除用户。
  • 角色管理:在“系统管理”->“角色管理”中,可定义不同角色的权限(如项目管理员、开发人员、访客等)。
  • 用户授权:在项目详情页中,通过“成员”标签页,将用户添加到项目中,并分配相应角色。

四、Harbor高级功能配置

4.1 镜像签名与验证

Harbor支持对镜像进行签名,确保镜像来源的可信性。需配置Notary服务器(Harbor内置支持)并配置客户端使用签名。

  1. 启用Notary:在harbor.yml中设置notary: enable: true,重新运行安装脚本。
  2. 客户端配置:配置Docker客户端信任Notary服务器,如:
  1. export DOCKER_CONTENT_TRUST=1
  2. export DOCKER_CONTENT_TRUST_SERVER=https://your.harbor.domain:4443
  1. 签名镜像:使用docker trust命令对镜像进行签名。

4.2 漏洞扫描

Harbor集成了Clair或Trivy等漏洞扫描工具,可自动扫描镜像中的安全漏洞。

  1. 启用漏洞扫描:在harbor.yml中配置clairtrivy相关参数,重新运行安装脚本。
  2. 查看扫描结果:在Harbor Web界面的项目详情页中,选择“镜像”标签页,点击镜像名称查看漏洞详情。

4.3 复制策略

Harbor支持在不同项目或不同Harbor实例之间复制镜像,便于镜像分发和备份。

  1. 创建复制目标:在“系统管理”->“复制管理”->“复制目标”中,添加目标Harbor实例的URL、用户名和密码。
  2. 创建复制规则:在“复制管理”->“复制规则”中,设置源项目、目标项目、复制触发条件(如手动、定时或事件触发)等。

五、Harbor安全加固

5.1 启用HTTPS

确保Harbor通过HTTPS访问,配置SSL证书和私钥,并在harbor.yml中正确设置。

5.2 限制访问IP

在Harbor的Nginx配置中(通常位于/etc/harbor/nginx/nginx.conf),通过allowdeny指令限制访问IP范围。

5.3 定期更新与备份

  • 定期更新:关注Harbor官方发布的新版本,及时升级以修复安全漏洞和提升功能。
  • 数据备份:定期备份Harbor的数据库和配置文件,确保数据安全。可使用docker-compose的导出功能或手动备份相关文件。

六、总结与展望

通过本文的介绍,读者已经掌握了Docker企业级容器镜像仓库Harbor的搭建与配置过程,包括环境准备、安装部署、基础配置、高级功能及安全加固等方面。Harbor作为一款功能强大的企业级Docker Registry管理工具,不仅提升了镜像管理的效率和安全性,还为企业提供了丰富的扩展性和定制化能力。未来,随着容器化技术的不断发展,Harbor将继续优化和完善其功能,满足企业日益增长的镜像管理需求。