docker-harbor私有仓库

2023-12-18 14:20:10

docker-harbor私有仓库

docker-harbor私有仓库

docker 镜像 容器 仓库

仓库:保存镜像

私有,自定义用户的形式登录仓库,拉取或者上传镜像(内部管理的用户)

harbor:是VMware公司开发的,开源的企业级的docker registry项目

帮助用户快速的搭建一个企业级的docker仓库的服务

支持中文

harbor的特性:

1、基于角色进行控制,用户和仓库都是基于项目进行的,用户在每个项目中可以用于不同的权限

2、基于镜像,在不同的harbor实例之间进行复制

3、harbor自带一个数据库,AD/LDAP(类似于数据库中的表),对已经存在的用户进行认证和管理

4、镜像删除和垃圾回收,仓库中的镜像可以被删除(基于权限控制),也可以回收镜像占用的空间

5、图形化界面,用户可以直接通过浏览器来对镜像仓库进行管理

6、审计管理,所有对镜像仓库的操作都可以被记录溯源

7、支持API操作(api的程序接口,端口:主机和主机之间的通信 api是应用和应用之间的接口)管理员可以基于api调用接口,和更多的其他程序进行集成

harbor的组件:

1、proxy:安装完harbor之后,他会自动生成一个nginx的容器自动对外映射,80端口,nginx前端代理,在Harbor当中,registry,UI,TOKEN,都在nginx的反向代理后面,通过nginx的代理,可以把请求转发到后端的不同应用

2、Registry:负责存储镜像,docker pull/push的命令都由其负责,用户进行访问控制,不同的用户对docker的镜像有不同的读写权限

Registry:每次都会指向一个不同的Token,强制用户每次的pull

/push,都必须带一个合法的Token(公钥对),Registry会通过公钥对,进行解密验证,身份合法才能指定操作

3、CORE SERVICES:Harbor的核心功能,

核心功能提供三个服务:

(1)UI:提供图形化界面

(2)Webhook:仓库上所有镜像的变化(增删改),都会传送给webhook,以实现在UI界面上

(3)Token:签发每一次push和pull的公钥对,用来和仓库之间进行权限认证

4、database:harbor-db,为核心组件core services提供数据库存储服务,用户权限,审计日志,docker镜像的分组和项目信息

5、Job service:主要用于镜像的复制,本地镜像可以同步到远程harbor上

6、log collector(harbor-log):统一日志收集工具

harbor都是基于docker容器化部署的,docker-compose意见编排,安装

https:docker-harbor默认的通信协议是https加密通信协议

docker-harbor私有仓库实验:

docker1 ?安装仓库 ?192.168.233.40 ?docker-ce ?har-bor ?docker-compose

docker2 ?客户端 ?192.168.233.50 ???docker-ce ?har-bor ?docker-compose

docker3 ?安装仓库---实现远程同步 ?192.168.233.60 ?docker-ce ?har-bor ?docker-compose

40 50 60:

systemctl stop firewalld

setenforce 0

40:

安装docker-compose

解压包

改名

vim进入配置文件

编译环境

./prepare

./install.sh

出现以下的情况就重启docker

可以docker ps查看一下正在运行的容器

进入浏览器访问192.168.233.40

下载镜像

用项目名称作为标签

会报错,表示没权限

访客:只能看,只有读权限

开发者:可以有读写的权限,但是没有删除权限

维护人员:读写权限,修改其他配置项的权限

项目管理员:对该项目拥有所有权限

50:

把40镜像拖到60里面

60:

部署Harbor服务

cd /opt

--上传harbor-offline-installer-v2.8.1.tgz--

tar -xf harbor-offline-installer-v2.8.1.tgz -C /usr/local

cd /usr/local/harbor

cp harbor.yml.tmpl harbor.yml

vim harbor.yml

--5--

hostname: 20.0.0.30

--12--

注释掉https

# https related config

#https:

??# https port for harbor, default is 443

??#port: 443

??# The path of cert and key files for nginx

??#certificate: /your/certificate/path

??#private_key: /your/private/key/path

--34--

harbor_admin_password: 654321

文章来源:https://blog.csdn.net/wyh20030130/article/details/135059713
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。