docker-02-harbor

Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。在这里插入图片描述

1、Proxy: Harbor的registry, UI,token等服务,通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务。
2、Registry: 负责储存Docker镜像,并处理docker push/pull 命令。由于我们要对用户进行访问控制,即不同用户对Docker image有不同的读写权限,Registry会指向一个token服务,强制用户的每次docker pull/push请求都要携带一个合法的token, Registry会通过公钥对token 进行解密验证。
3、Core services: 这是Harbor的核心功能,主要提供以下服务:
1)UI:提供图形化界面,帮助用户管理registry上的镜像(image), 并对用户进行授权。
2)webhook:为了及时获取registry 上image状态变化的情况,在Registry上配置webhook,把状态变化传递给UI模块。
3)token 服务:负责根据用户权限给每个docker push/pull命令签发token. Docker客户端向Regiøstry服务发起的请求,如果不包含token,会被重定向到这里,获得token后再重新向Registry进行请求。
4、Database: 为core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。
5、Log collector: 为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

安装harbor依赖环境

依赖软件安装

#安装epel源
yum install -y epel-release
#依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

安装docker

yum -y install docker

安装docker-compose

yum -y install docker-compose

Harbor 2种安装方式

https://github.com/goharbor/harbor/releases
1.离线安装
$ wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.0.tgz
$ tar xf harbor-offline-installer-v1.5.0.tgz
2.在线安装
$ wget https://storage.googleapis.com/harbor-releases/harbor-online-installer-v1.5.2.tgz
$ tar xf harbor-online-installer-v1.5.2.tgz

//创建数据存储目录 harbor默认的数据存储目录就是/data目,启动时也会自动创建!

mkdir -p /data/cert

创建CA证书

mkdir /data/cert
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
chmod -R 777 /data/cert

注:因为出于安全的考虑,建议搭建基于https的harbor,那么就需要添加ca证书!
修改配置文件 : harbor.cfg 相关配置解释

hostname :目标的主机名或者完全限定域名
ui_url_protocol : http 或 https 。默认为 http
db_password :用于 db_auth 的 MySQL 数据库的根密码。更改此密码进行任何生产用途
max_job_workers :(默认值为 3 )作业服务中的复制工作人员的最大数量。对于每个映像复制作业,
工作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工
作人员都会消耗一定数量的网络 / CPU / IO 资源,请根据主机的硬件资源,仔细选择该属性的值
customize_crt :( on 或 off 。默认为 on )当此属性打开时, prepare 脚本将为注册表的令牌的生成 / 验证创
建私钥和根证书
ssl_cert : SSL 证书的路径,仅当协议设置为 https 时才应用
ssl_cert_key : SSL 密钥的路径,仅当协议设置为 https 时才应用
secretkey_path :用于在复制策略中加密或解密远程注册表的密码的密钥路径
#安装Harbor后,管理员UI登陆的密码,默认是Harbor12345 (首次启动时有效)
##The initial password of Harbor admin, only works for the first time when Harbor starts.
#It has no effect after the first launch of Harbor.
#Change the admin password from UI after launching Harbor.
harbor_admin_password = Harbor12345

安装

#复制一份配置文件,修改 【hostname ,secretkey_path .....】   #cp harbor.yml.tmpl harbor.yml 
./install.sh  -- 安装完成后自动启动

启动、关闭

cd /home/harbor/
#启动  
docker-compose up -d
#关闭
docker-compose down
#修改配置文件后重启
./prepare
docker-compose up -d

docker连接harbor

 vim /etc/docker/daemon.json  
{
"insecure-registries": ["https://k8s.harbor"]
}

重启docker

systemctl restart docker

登录

# 需要配置域名解析
docker login -u admin -p Harbor12345 https://k8s.harbor

退出

docker logout

镜像上传到私服

#打标签
docker tag nginx:demo-v1   k8s.harbor/test/nginx:demo-v1
#上传仓库(harbor)
docker push k8s.harbor/test/nginx:demo-v1
#从(harbor)拉取镜像
docker pull k8s.harbor/test/nginx:demo-v1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值