docker(十)分布式 Harbor仓库

docker 仓库之分布式 Harbor

Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,由vmware 开源,其通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。 Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控, 另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

官网地址: https://vmware.github.io/harbor/cn/,
官方 github 地址:https://github.com/vmware/harbor

Harbor 功能官方介绍:

基于角色的访问控制:用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。镜像复制:镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。图形化用户界面:用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。

AD/LDAP: Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。

审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。国际化:已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。RESTful API - RESTful API :提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。

部署简单:提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。

安装 Harbor:

下载地址:
https://github.com/goharbor/harbor/releases

安装文档:
https://github.com/vmware/harbor/blob/master/docs/installation_guide.md

本次使用 harbor 版本 1.2.2 离线安装包,具体名称为 harbor-offline-installer-v1.7.5.tgz

下载 Harbor 安装包:

方式1:下载离线安装包:https://github.com/goharbor/harbor/releases

cd /usr/local/src/
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.5.tgz

方式2:下载在线安装包

扫描二维码关注公众号,回复: 9549021 查看本文章
cd /usr/local/src/
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.5.tgz

配置安装 Harbor:

  1. 解压
tar xf harbor-offline-installer-v1.7.5.tgz
ln -sv /usr/local/src/harbor /usr/local/
  1. 下载docker-compose
cd /usr/local/harbor/
sudo apt install python-pip
pip install docker-compose
  1. 修改配置文件,最终配置如下
# vim harbor.cfg
...
hostname = 192.168.99.22
...
harbor_admin_password = root123
...

其它配置说明

# 写本机ip,不要写localhost或127.0.0.1
hostname = 192.168.99.22

# 访问UI和令牌/通知服务的协议
ui_url_protocol = http

# harbor DB的根用户的密码
db_password = root123

# 最大进程数
max_job_workers = 3

# 确定是否为注册表的令牌生成证书
customize_crt = on

# 证书路径
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

# 密钥存储的路径
secretkey_path = /data

# Admiral的url,注释此属性,或在Harbor独立时将其值设置为NA
admiral_url = NA

# Clair的postgres数据库的密码
clair_db_password = root123

# 电子邮件服务器
email_identity = harbor
email_server = smtp.qq.com
email_server_port = 25
email_username = [email protected]
email_password = 123
email_from = admin <[email protected]>
email_ssl = false
email_insecure = false

# 启动后从UI更改管理密码。
harbor_admin_password = root123

# 如果希望根据LDAP服务器验证用户的凭证,请将其设置为ldap_auth。
auth_mode = db_auth
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = ou=people,dc=mydomain,dc=com
ldap_uid = uid
ldap_scope = 3
ldap_timeout = 5
# 打开或关闭自注册功能
self_registration = on

# 令牌服务创建的令牌的过期时间
token_expiration = 30

# 设置为“adminonly”,以便只有管理员用户才能创建项目
# 默认值“everyone”允许每个人创建一个项目
project_creation_restriction = everyone

# 
verify_remote_cert = on
  1. 准备
./prepare
  1. 安装
./install.sh

在这里插入图片描述

执行完毕后会在当前目录生成一个 docker-compose.yml 文件,用于配置数据目录等配置信息:
在这里插入图片描述

后期修改配置:

如果 harbor 运行一段时间之后需要更改配置,则步骤如下:

  1. 停止 harbor:
cd /usr/local/harbor
docker-compose stop
  1. 编辑 harbor.cfg 进行相关配置:
vim harbor.cfg
  1. prepare
./prepare
  1. 启动 harbor 服务:
docker-compose start

在这里插入图片描述

继续

  1. 查看本地的镜像
docker images

在这里插入图片描述

  1. 查看本地端口
ss -tnl

在这里插入图片描述

  1. web 访问 Harbor 管理界面
    在这里插入图片描述
发布了254 篇原创文章 · 获赞 346 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_42758707/article/details/100832824
今日推荐