docker-harbor 私有仓库

2023-12-18 09:53:53

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、token都在nginx反向代理后面。通过nginx代理,可以把请求转发到后端不同的应用

2、registry ?负责存储镜像,docker pull/push的命令都由其负责。要对用户进行访问控制,不同的用户对docker有不同的读写权限,registry每次都会指向一个不同的token,强制用户每次的pull/push都必须带一个合法的token(可以理解为公钥对),registry会通过公钥对进行解密验证,身份合法才能指定操作

3、core services ?是harbor的核心功能,提供三个服务

①UI ?提供图形化界面

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

③Token 签发每一个pull和push的公钥对,用来和仓库之间进行权限认证

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

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

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

harbor都是基于docker容器化部署的,docker-compose一键编排、安装

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

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

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

vim harbor.yml

./prepare

ls

./install.sh

systemctl restart docker

./install.sh

docker-compose ps

doker ps

192.168.233.20

密码:123456

docker pull nginx:1.22.0

cd /opt

docker tag nginx:1.22.0 127.0.0.1/library/nginx:fmh1

docker images

docker login -u admin -p 123456 http://127.0.0.1

docker push 127.0.0.1/library/nginx:fmh1

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

角色:

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

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

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

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

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