docker-harbor私有仓库

1、私有仓库

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

2、harbor定义

VMware公司开发的,开源的企业级的docker registry

作用:帮助用户快速的搭建一个企业级的docker仓库的服务。支持中文

3、docker-harbor特性

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

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

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

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

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

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

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

4、harbor组件

(1)proxy代理:harbor安装完成后,自动生成一个nginx容器,且80端口自动对外映射,nginx作为前端代理。在harbor中,其他组件(registry仓库,UI图形化界面,token公钥对)都在nginx的反向代理后面。通过nginx代理,可以把请求转发到后端不同的应用

(2)registry仓库:存储镜像。所有docker pull/push命令都由registry负责处理。用户进行访问控制,不同用户对docker镜像有不同的操作权限,registry每次都会指向一个不同的token,强制用户每次的pull/push都必须带一个合法的token(公钥对),registry会通过公钥对进行解密验证,身份合法才能做出对应的操作

(3)core services:harbor的核心功能,提供三个服务:

①UI:提供图形化界面

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

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

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

(5)job service:用于复制镜像,本地镜像可以同步到远程harbor上

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

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

本地上传镜像、远程复制镜像实验

主机名

作用

IP地址

组件

硬件

docker1

仓库

20.0.0.16

harbor docker-compose

4核8G

docker2

客户端

20.0.0.26

harbor docker-compose

2核4G

docker3

仓库—远程同步

20.0.0.36

harbor docker-compose

2核4G

1、本地拉取镜像

(1)安装docker-compose、harbor、docker服务

docker-harbor私有仓库_第1张图片

docker-harbor私有仓库_第2张图片

docker-harbor私有仓库_第3张图片

docker-harbor私有仓库_第4张图片

(2)编译环境./prepare

docker-harbor私有仓库_第5张图片

docker-harbor默认通信协议是https

(3)修改harbor配置文件

docker-harbor私有仓库_第6张图片

docker-harbor私有仓库_第7张图片

(4)安装harbor

若安装出现ERROR,重启docker服务

docker-harbor私有仓库_第8张图片

docker-harbor私有仓库_第9张图片

(5)浏览器访问20.0.0.16登录harbor

docker-harbor私有仓库_第10张图片

问题:无法登录harbor,核心组件不可用

解决:重新安装harbor可登录

docker-harbor私有仓库_第11张图片

docker-harbor私有仓库_第12张图片

(6)本地上传镜像

①拉取镜像

docker-harbor私有仓库_第13张图片

②修改镜像标签

docker-harbor私有仓库_第14张图片

③上传镜像

docker-harbor私有仓库_第15张图片

docker-harbor私有仓库_第16张图片

docker-harbor私有仓库_第17张图片

docker-harbor私有仓库_第18张图片

docker-harbor私有仓库_第19张图片

2、新建私有仓库(不点公开即私有)

docker-harbor私有仓库_第20张图片

docker-harbor私有仓库_第21张图片

-1表示不限制大小

docker-harbor私有仓库_第22张图片

3、创建用户

docker-harbor私有仓库_第23张图片

docker-harbor私有仓库_第24张图片

docker-harbor私有仓库_第25张图片

4、非管理员用户往私有仓库中上传镜像

docker-harbor私有仓库_第26张图片

docker-harbor私有仓库_第27张图片

docker-harbor私有仓库_第28张图片

docker-harbor私有仓库_第29张图片

docker-harbor私有仓库_第30张图片

docker-harbor私有仓库_第31张图片

角色

作用

访客

只有读权限

开发者

可以读写,不能删除

维护人员

拥有读写权限,修改其他配置项的权限

项目管理员

对该项目拥有所有权限

docker-harbor私有仓库_第32张图片

docker-harbor私有仓库_第33张图片

docker-harbor私有仓库_第34张图片

docker-harbor私有仓库_第35张图片

docker-harbor私有仓库_第36张图片

5、远程上传镜像(登录仓库-修改标签-push上传)

(1)安装docker服务

(2)远程登录仓库

修改docker配置文件

docker-harbor私有仓库_第37张图片

直接指向目标主机,不需要通过https访问

docker-harbor私有仓库_第38张图片

(3)远程上传镜像

①拉取镜像

docker-harbor私有仓库_第39张图片

docker-harbor私有仓库_第40张图片

②修改镜像标签

docker-harbor私有仓库_第41张图片

③上传镜像

docker-harbor私有仓库_第42张图片

docker-harbor私有仓库_第43张图片

docker-harbor私有仓库_第44张图片

docker-harbor私有仓库_第45张图片

6、仓库之间复制镜像(docker1传给docker3)

(1)安装dokcer-compose、harbor、docker服务

docker-harbor私有仓库_第46张图片

(2)修改harbor配置文件

docker-harbor私有仓库_第47张图片

(3)编译harbor环境

docker-harbor私有仓库_第48张图片

(4)安装harbor

docker-harbor私有仓库_第49张图片

(5)浏览器访问本机地址登录harbor界面

docker-harbor私有仓库_第50张图片

docker-harbor私有仓库_第51张图片

①创建源仓库(提供镜像)

docker-harbor私有仓库_第52张图片

docker-harbor私有仓库_第53张图片

docker-harbor私有仓库_第54张图片

②创建复制仓库(存放远程复制过来的镜像)

docker-harbor私有仓库_第55张图片

docker-harbor私有仓库_第56张图片

docker-harbor私有仓库_第57张图片

docker-harbor私有仓库_第58张图片

docker-harbor私有仓库_第59张图片

docker-harbor私有仓库_第60张图片

docker-harbor私有仓库_第61张图片

docker-harbor私有仓库_第62张图片

docker-harbor私有仓库_第63张图片

docker-harbor私有仓库_第64张图片

只能复制公有库;若要复制私有库,需在源仓库中将私有库改为公有库

docker-harbor私有仓库_第65张图片

docker-harbor私有仓库_第66张图片

docker-harbor私有仓库_第67张图片

docker-harbor私有仓库_第68张图片

docker-harbor私有仓库_第69张图片

docker-harbor私有仓库_第70张图片

docker-harbor私有仓库_第71张图片

docker-harbor私有仓库_第72张图片

docker-harbor私有仓库_第73张图片

所有镜像都存放在宿主机的/data目录下

docker-harbor私有仓库_第74张图片

你可能感兴趣的:(docker,容器,运维)