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

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

引言

在容器化技术日益普及的今天,如何高效管理私有镜像仓库成为开发者与企业关注的焦点。Harbor作为一款开源的企业级Docker Registry管理工具,提供了镜像存储、权限控制、安全扫描等核心功能,是构建私有镜像仓库的理想选择。本文将详细阐述如何通过命令行模式,利用Docker快速搭建Harbor私有镜像仓库,助力开发者实现镜像的高效管理与安全存储。

一、环境准备

1.1 硬件与软件要求

  • 硬件要求:建议至少2核CPU、4GB内存、20GB磁盘空间(根据实际镜像存储需求调整)。
  • 软件要求
    • Docker Engine:版本18.09或更高,确保支持Docker Compose。
    • Docker Compose:用于编排Harbor及其依赖服务。
    • 操作系统:推荐CentOS 7/8、Ubuntu 18.04/20.04等Linux发行版。

1.2 安装Docker与Docker Compose

  • 安装Docker

    1. # CentOS示例
    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. # Ubuntu示例
    8. sudo apt-get update
    9. sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    10. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    11. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    12. sudo apt-get update
    13. sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    14. sudo systemctl start docker
    15. sudo systemctl enable docker
  • 安装Docker Compose

    1. 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
    2. sudo chmod +x /usr/local/bin/docker-compose

二、Harbor安装与配置

2.1 下载Harbor安装包

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

2.2 解压并配置Harbor

  1. tar xvf harbor-offline-installer-v2.x.x.tgz
  2. cd harbor

编辑harbor.yml文件,配置关键参数:

  • hostname:设置为服务器IP或域名。
  • http/https:根据需求选择协议,HTTPS需配置证书。
  • database:默认使用内置PostgreSQL,也可配置外部数据库。
  • harbor_admin_password:设置管理员密码。
  • data_volume:指定镜像存储路径。

2.3 运行安装脚本

  1. sudo ./install.sh --with-trivy # --with-trivy可选,启用镜像漏洞扫描

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

三、Harbor高级配置

3.1 启用HTTPS

  • 生成证书:使用OpenSSL生成自签名证书或申请CA签名证书。
  • 配置Nginx:Harbor默认使用Nginx作为反向代理,需在harbor.yml中配置证书路径。
  • 重启Harbor:修改配置后,执行docker-compose down && docker-compose up -d重启服务。

3.2 用户与权限管理

  • 创建项目:登录Harbor Web界面(默认http://<hostname>),创建项目并设置访问权限。
  • 添加用户:在“系统管理”->“用户管理”中添加用户,分配角色(如开发者、管理员)。
  • 配置LDAP/AD集成:支持与企业LDAP/AD目录集成,实现单点登录。

3.3 镜像复制与同步

  • 配置复制规则:在“系统管理”->“复制管理”中设置镜像复制规则,实现多Harbor实例间的镜像同步。
  • 触发复制:手动触发或设置定时任务,自动同步镜像。

四、Harbor日常使用

4.1 推送与拉取镜像

  • 登录Harbor
    1. docker login <harbor_hostname>
  • 推送镜像
    1. docker tag <local_image>:<tag> <harbor_hostname>/<project>/<image>:<tag>
    2. docker push <harbor_hostname>/<project>/<image>:<tag>
  • 拉取镜像
    1. docker pull <harbor_hostname>/<project>/<image>:<tag>

4.2 镜像扫描与修复

  • 启用Trivy扫描:安装时添加--with-trivy参数,Harbor将自动扫描上传的镜像。
  • 查看扫描结果:在Harbor Web界面的“项目”->“镜像”中查看漏洞详情。
  • 修复镜像:根据扫描结果,更新基础镜像或应用补丁,重新构建并推送。

五、维护与优化

5.1 日志管理

  • 查看日志:使用docker-compose logs查看各服务日志,定位问题。
  • 日志轮转:配置logrotate或第三方日志收集系统,避免日志文件过大。

5.2 性能调优

  • 调整资源限制:在docker-compose.yml中调整各服务的CPU、内存限制。
  • 数据库优化:定期维护PostgreSQL数据库,执行VACUUM FULL清理碎片。

5.3 备份与恢复

  • 备份配置:定期备份harbor.yml、数据库及证书文件。
  • 恢复流程:停止Harbor服务,恢复备份文件,重新启动服务。

结论

通过命令行模式搭建Harbor私有镜像仓库,开发者可以灵活控制部署过程,实现镜像的高效管理与安全存储。本文详细介绍了环境准备、安装配置、高级功能使用及日常维护,为开发者提供了全面的操作指南。随着容器化技术的不断发展,Harbor将成为企业构建私有云原生生态的重要基石。