Docker搭建Harbor私有镜像仓库全攻略(命令行模式)

Docker搭建Harbor私有镜像仓库全攻略(命令行模式)

在容器化技术日益普及的今天,Docker已成为开发、部署和运行应用的标准工具。然而,随着项目规模的扩大,如何高效管理Docker镜像成为一大挑战。Harbor作为一款开源的企业级Docker Registry,提供了权限控制、镜像复制、漏洞扫描等高级功能,成为构建私有镜像仓库的理想选择。本文将详细介绍如何通过命令行模式,利用Docker快速搭建Harbor私有镜像仓库,助力开发者及企业用户高效管理镜像资源。

一、环境准备

1.1 硬件与软件要求

  • 硬件:至少4GB内存(推荐8GB以上),2核CPU,20GB以上磁盘空间。
  • 软件:Docker(18.09或更高版本),Docker Compose(1.25或更高版本),Harbor(2.0或更高版本)。

1.2 安装Docker与Docker Compose

在Linux系统上,可通过以下命令安装Docker:

  1. # 更新软件包索引
  2. sudo apt-get update
  3. # 安装依赖
  4. sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  5. # 添加Docker官方GPG密钥
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  7. # 添加Docker APT仓库
  8. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  9. # 安装Docker
  10. sudo apt-get update
  11. sudo apt-get install docker-ce docker-ce-cli containerd.io
  12. # 验证安装
  13. sudo docker run hello-world

安装Docker Compose:

  1. # 下载Docker Compose二进制文件
  2. 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
  3. # 添加执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. # 验证安装
  6. docker-compose --version

二、Harbor安装与部署

2.1 下载Harbor安装包

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

2.2 解压并配置Harbor

  1. # 解压安装包
  2. tar xvf harbor-offline-installer-v2.5.0.tgz
  3. cd harbor
  4. # 复制配置文件模板
  5. cp harbor.yml.tmpl harbor.yml

编辑harbor.yml文件,配置Harbor的基本信息,如主机名、协议、端口、管理员密码等:

  1. hostname: your-harbor-domain.com # 替换为你的域名或IP
  2. http:
  3. port: 80 # 或443,如果使用HTTPS
  4. # 如果需要HTTPS,取消以下注释并配置证书
  5. # https:
  6. # port: 443
  7. # certificate: /path/to/your/certificate.pem
  8. # private_key: /path/to/your/private_key.pem
  9. harbor_admin_password: Harbor12345 # 设置管理员密码
  10. database:
  11. password: root123 # 数据库密码

2.3 运行安装脚本

  1. # 执行安装脚本
  2. sudo ./install.sh

安装完成后,Harbor服务将自动启动,可通过浏览器访问http://your-harbor-domain.com(或配置的HTTPS地址)查看Harbor的Web界面。

三、Harbor配置优化

3.1 配置HTTPS

为了增强安全性,建议配置HTTPS。首先,获取SSL证书(如Let’s Encrypt免费证书),然后修改harbor.yml文件,取消HTTPS相关配置的注释,并指定证书路径。

3.2 配置镜像复制

Harbor支持镜像复制功能,可将镜像从一个Harbor实例复制到另一个实例。在Web界面中,导航至“系统管理”->“仓库管理”->“复制管理”,添加复制规则,指定源和目标仓库。

3.3 配置漏洞扫描

Harbor集成了Clair漏洞扫描工具,可自动扫描镜像中的漏洞。在harbor.yml中,确保clair相关配置已启用,并在Web界面中配置扫描策略。

四、Harbor使用指南

4.1 登录Harbor

使用Docker命令行登录Harbor:

  1. docker login your-harbor-domain.com

输入用户名(默认为admin)和密码(配置时设置的密码)。

4.2 推送与拉取镜像

推送镜像到Harbor:

  1. # 标记镜像
  2. docker tag your-image your-harbor-domain.com/your-project/your-image:tag
  3. # 推送镜像
  4. docker push your-harbor-domain.com/your-project/your-image:tag

从Harbor拉取镜像:

  1. docker pull your-harbor-domain.com/your-project/your-image:tag

4.3 管理项目与用户

在Harbor Web界面中,可创建项目、管理用户权限、设置项目成员等。通过“系统管理”->“用户管理”添加用户,并通过“项目管理”分配用户角色和权限。

五、高级功能与最佳实践

5.1 镜像保留策略

Harbor支持设置镜像保留策略,自动清理旧镜像,节省存储空间。在项目设置中,配置保留规则,如按标签数量、镜像年龄等。

5.2 镜像签名与验证

为确保镜像的完整性和来源可信,可使用Docker Content Trust(DCT)对镜像进行签名和验证。在~/.docker/trust/private/目录下生成密钥对,并在推送镜像前签名。

5.3 监控与日志

Harbor提供了丰富的监控和日志功能,可通过Prometheus和Grafana监控Harbor的运行状态,或在Web界面中查看操作日志。

六、总结与展望

通过本文的介绍,读者已掌握了如何通过命令行模式使用Docker搭建Harbor私有镜像仓库。Harbor作为企业级Docker Registry,不仅提供了基本的镜像存储功能,还支持权限控制、镜像复制、漏洞扫描等高级特性,极大提升了镜像管理的效率和安全性。未来,随着容器化技术的不断发展,Harbor将继续优化功能,满足更多场景下的需求。

对于开发者而言,掌握Harbor的搭建和使用,不仅能够提升个人技能,还能在项目中发挥重要作用,推动团队向更高效、更安全的容器化方向迈进。希望本文能为读者提供有价值的参考,助力大家在容器化道路上走得更远。