文章目录

  • 介绍
  • Harbor的架构设计包括几个关键组件:
  • 环境
  • docker与docker-compose安装可参考
  • 下载安装包
  • 官网
  • 其他版本
  • 百度网盘
  • 解压
  • 安装harbor
  • 修改harbor配置文件
  • 执行配置脚本
  • 开始安装
  • 查看运行状态
  • 默认账户
  • 登录


介绍

Harbor是一个开源的企业级私有Docker镜像仓库,它为用户提供了存储、分发和管理工作负载所需容器镜像的企业级解决方案。Harbor是在Docker Distribution的基础上构建的,增加了一些关键的企业级特性,如用户权限控制、镜像签名、安全漏洞扫描以及远程复制功能。
Harbor的主要特点包括:

  1. 用户权限和项目管理:Harbor支持多项目,每个项目都可以设置不同的用户权限,这使得团队可以在一个统一的平台中协同工作,同时保证敏感项目的安全性。
  2. 镜像签名与验证:Harbor允许对镜像进行签名,确保镜像在传输过程中的完整性和来源的可信度。这有助于企业实施严格的供应链安全策略。
  3. 安全漏洞扫描:Harbor内置了安全漏洞扫描功能,可以自动检查存储的镜像中可能存在的安全问题,并建议修复措施。
  4. 远程复制:Harbor可以配置镜像的远程复制,实现多数据中心的高可用性和灾难恢复。
  5. Web界面管理:提供图形用户界面,使得用户可以更直观地管理仓库中的镜像,包括上传、下载、复制以及设置权限等。
  6. 中文支持:Harbor考虑到国内用户的需求,提供了中文界面和支持,使得中文用户能够更便捷地使用。
  7. 可扩展性和性能:Harbor设计灵活,支持水平扩展,能够应对大规模的镜像存储和分发需求,同时作为一个企业级解决方案,它也提供了较好的性能表现。

Harbor的架构设计包括几个关键组件:

  • Proxy:用于处理对外的镜像拉取和推送到Harbor仓库的请求。
  • Registry:存储Docker镜像的地方,支持企业级特性如镜像签名和权限控制。
  • Admission Controller:负责实施进入Registry的策略,比如镜像签名验证等。
  • UI:图形用户界面,供管理员进行日常操作和管理配置。
  • Logging:日志服务,用于记录Harbor的操作日志,便于审计和监控。

环境

系统环境:CentOS Linux release 7.9.2009 (Core)
CPU/内存: 8核、32G ##最小记得是2核4G就可以安装
docker:19.03.8
docker-compose:1.18.0

docker与docker-compose安装可参考

docker安装

下载安装包

官网

wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz

其他版本

https://github.com/goharbor/harbor/releases

百度网盘

暂未提供


解压

[root@controller data]# tar xf harbor-offline-installer-v2.1.1.tgz -C /data/
[root@controller data]# ls /data/harbor/
common.sh  harbor.v2.1.1.tar.gz   harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@controller data]# mkdir -p /var/log/harbor/

安装harbor

修改harbor配置文件

cat <<EOF>> /data/harbor/harbor.yml
hostname: test.xxx.com # 设置访问地址,可以设置成IP,但是127或者localhost代表本机不可以,域名的话进行dns解析或者写hosts才可访问
http: # 启用http
  port: 80 # http端口
#https:  # 关闭https协议,如果启用把注释取消,然后申请证书,并指定证书目录即可
#  port: 443
#  certificate: /data/app/harbor/ssl/harbor-ioscar.cbf.com.pem
#  private_key: /data/app/harbor/ssl/harbor-ioscar.cbf.com.key
harbor_admin_password: Harbor12345  # harbor登录密码
database:
  password: root123
  max_idle_conns: 50
  max_open_conns: 1000
# harbor仓库数据目录(根据实际情况修改)
data_volume: /data/app/harbor/data
clair:
  updaters_interval: 12
trivy:
  ignore_unfixed: false
  skip_update: false
  insecure: false
jobservice:
  max_job_workers: 10
notification:
  webhook_job_max_retry: 10
chart:
  absolute_url: disabled
log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    location: /var/log/harbor  # harbor日志存放路径
_version: 2.0.0
proxy:
  http_proxy:
  https_proxy:
  no_proxy:
  components:
    - core
    - jobservice
    - clair
    - trivy
EOF

执行配置脚本

执行完会生成docker-compose.yml等文件还有目录

[root@controller harbor]# chmod +x prepare
[root@controller harbor]# ./prepare

开始安装

[root@controller harbor]# chmod +x install.sh
[root@controller harbor]# ./install.sh

查看运行状态

[root@controller harbor]# docker-compose ps
      Name                     Command               State             Ports          
--------------------------------------------------------------------------------------
harbor-core         /harbor/entrypoint.sh            Up                               
harbor-db           /docker-entrypoint.sh            Up                               
harbor-jobservice   /harbor/entrypoint.sh            Up                               
harbor-log          /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp
harbor-portal       nginx -g daemon off;             Up                               
nginx               nginx -g daemon off;             Up      0.0.0.0:80->8080/tcp     
redis               redis-server /etc/redis.conf     Up                               
registry            /home/harbor/entrypoint.sh       Up                               
registryctl         /home/harbor/start.sh            Up                               
[root@controller harbor]#

默认账户

输入用户名:admin,默认密码:Harbor12345 登录Harbor

登录

http://test.xxx.com/ # harbor.yml的hostname进行定义