Docker--Harbor私有镜像仓库搭建

一、Harbor简介

1、什么是Harbor?
Harbor是一个开源的容器镜像存储软件,它通过基于角色的访问控制保护镜像,扫描镜像以查找漏洞,并将镜像标记为可信。作为一个CNCF孵化项目,Harbor提供了法规遵从性、性能和互操作性,可以帮助在Kubernetes和Docker等云计算平台上一致、安全地管理镜像
2、Harbor的特点

  • 安全
    安全和漏洞分析
    内容签名和验证
  • 管理
    多租户
    可拓展的API和Web UI
    跨多个Harbor实例的镜像复制
    身份集成和基于角色的访问控制
二、Harbor参数文件harbor.cfg
  • 关于harbor.cfg 配置文件中有两类参数:所需参数和可选参数

1、所需参数
这些参数需要在配置文件harbor.cfg中设置,如果更新这些参数,需要重新运行install.sh脚本重新安装Harbor,参数才会生效,具体的参数如下:

  • hostname:用于访问用户界面和register服务,它应该是目标机器的IP址或完全限定的域名(FQDN)
    例如:192.168.7.168或者hub.aaa.cn,不要使用localhost或127.0.0.1为主机名
  • ui_url_protocol:(http或https,默认为http)用于访问UI和令牌/通知服务的协议。如果公证处于启用状态,则此参数必须为https
  • max_job_workers:镜像复制作业线程
  • db_password:用于db_auth的MySQL数据库root用户的密码
  • customize_crt:该属性可设置为打开或关闭,默认打开。打开此属性时,准备脚本创建私钥和根证书,用于生成/验证注册表令牌,当由外部来源提供密钥和根证书时,将此属性设置为off
  • ssl_cert:SSL证书的路径,仅当协议设置为https时才应用
  • ssl_cert_key:SSL密钥的路径,仅当协议设置为https时才应用
  • secretkey_path:用于在复制策略中加密或解密远程register密码的密钥路径
  • ssl_cert_key:SSL密钥的路径,仅当协议设置为https时才应用
  • secretkey_path:用于在复制策略中加密或解密远程register密码的密钥路径

2、可选参数
这些参数对于更新是可选的,即用户可以将其保留为默认值,并在启动Harbor后在Web UI上进行更新,如果进入harbor.cfg设置,只会在第一次启动Harbor时生效,随后这些参数的更新,harbor.cfg将被忽略
注意:如果选择通过UI设置这些参数,需要确保在启动Harbour后立即执行此操作。具体来说,必须在注册或在Harbor中创建任何新用户之前设置所需的auth_mode。当系统中有用户时(除了默认的 admin 用户),auth_mode 不能被修改。具体参数如下:

  • Email:Harbor需要该参数才能向用户发送“密码重置”电子邮件,并且只有在需要该功能时才需要
    请注意,在默认情况下SSL连接时没有启用。如果SMTP服务器需要SSL,但不支持STARTTLS,那么应该通过设置启用SSL email_ssl = TRUE
  • harbour_admin_password:管理员的初始密码,只在Harbour第一次启动时生效。之后,此设置将被忽略,并且应 UI中设置管理员的密码,默认的用户名/密码是:admin/Harbor12345
  • auth_mode:使用的认证类型,默认情况下,它是db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为ldap_auth
  • self_registration:启用/禁用用户注册功能。禁用时,新用户只能由 Admin 用户创建,只有管理员用户可以在 Harbour中创建新用户
    注意:当auth_mode设置为ldap_auth时,自注册功能将始终处于禁用状态,并且该标志被忽略
  • Token_expiration:由令牌服务创建的令牌的到期时间(分钟),默认为 30 分钟
  • project_creation_restriction:用于控制哪些用户有权创建项目的标志。默认情况下, 每个人都可以创建一个项目,如果将其值设置为"adminonly",那么只有admin可以创建项目
  • verify_remote_cert:打开或关闭,默认打开。此标志决定了当Harbor与远程register实例通信时是否验证SSL/TLS证书,将此属性设置为 off 将绕过 SSL/TLS 验证,这在远程实例具有自签名或不可信证书时经常使用

默认情况下,Harbour将镜像存储在本地文件系统上。在生产环境中,可以考虑使用其他存储后端而不是本地文件系统,如 S3、Openstack Swif、Ceph等。但需要更新common/templates/registry/config.yml文件

三、安装部署Harbor及镜像上传下载
  • Harbor 被部署为多个Docker容器,因此可以部署在任何支持Docker的Linux发行版 上。服务端主机需要安装 Python、Docker 和 Docker Compose

1、下载Harbor安装程序

[root@h
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值