docker-harbor 仓库上传下载镜像以及仓库之间的镜像复制

目录

harbor概念

实验架构:

实验操作:

一、部署服务端

客户端和服务端之间上传、下载镜像、权限控制

服务端本机上传镜像

客户端上传和下载镜像

通过角色对权限进行控制

仓库之间的镜像复制


harbor概念

harboy:是开源的企业级的docker仓库软件。

仓库:私有仓库、公有仓库。

harbor是一个有图形化的,页面UI展示的工具,操作起来很直观。harbor每个组件都是由容器构建的,所以安装harbor必须要有docker。它是由docker-compose一键编排的,所以也需要安装docker-compose。

harbor特性:

1.通过角色对权限进行控制:由于用户和仓库都是基于项目进行组织的,所以不同的用户在不同的项目中拥有不同的权限。

2.镜像复制:就是每个仓库(之间可以通信)之间可以互相复制里面的镜像。

3.UI界面可以对镜像进行删除,删除了之后也会释放本机的空间

4.图形化界面:可以用浏览器进行访问

5.审计管理:所有对镜像仓库的操作都有记录

harbor的组件:

1.proxy:前端页面是nginx,然后在nginx的配置中做了反向代理,把浏览器不同的请求转发到后端不同的容器中。

2.registry:它就是仓库,是用来保存镜像的,同时主要作用是 push/pull

3.core services:harbor的核心功能,对用户进行授权。还检测仓库内镜像的变化以及token,根据不同的权限给于不同的token,token就是保存用户身份的信息,以及账户和密码,就是用于认证身份的组件,一次认证后续就不需要再输入账号和密码了

4.database:负责存储用户的权限、审计日志、docker镜像的分组信息

5.JOB services:用于不同仓库之间镜像复制

6.log collector:日志收集工具

以上组件都是由容器运行,用docker-compose一键拉取部署

实验架构:

客户端 192.168.233.23 需要安装docker 

服务端1 192.168.233.21  需要安装docker和docker-compose、harbor

服务端2 192.168.233.22  需要安装docker和docker-compose、harbor

实验操作:

一、部署服务端

安装步骤:(前期需要安装好docker和docker-compose)

把harbor软件包拖入进来

tar -xf harbor-offline-installer-v2.8.1.tgz

cd harbor/

cp harbor.yml.tmpl harbor.yml

vim harbor.yml

修改为本机ip地址

把https模块所有的都注释掉

上面定义的是管理员的账号,下面定义的是密码

仓库保存的镜像的路径

然后在harbor目录下执行

./prepare  #安装和拉取harbor依赖的镜像

然后在harbor目录下执行

 ./install.sh

这样就是启动成功

然后访问浏览器192.168.233.22 本机ip地址

输入账号:admin

密码:123456

客户端和服务端之间上传、下载镜像、权限控制

首先要新建一个项目

服务端本机上传镜像

先要打标签

docker tag nginx:1.22 192.168.233.22/test1/nginx:v1

然后登录仓库

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

注:如果登录出现报错

vim /usr/lib/systemd/system/docker.service

在13行中间添加--insecure-registry 192.168.233.22

然后systemctl daemon-reload

systemctl restart docker

然后重新  ./install.sh 安装即可

然后重新登录 docker login -u admin -p 123456 http://192.168.233.22 就好了

上传命令

docker push 192.168.233.22/test1/nginx:v1

客户端上传和下载镜像

在客户端

vim /usr/lib/systemd/system/docker.service

在13行中间添加--insecure-registry 192.168.233.22  指向你要访问的服务端

然后systemctl daemon-reload

systemctl restart docker

方法一,在浏览器页面之间点拉取

方法二:

首先登录服务端的仓库

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

然后下载镜像

docker pull 192.168.233.22/test1/nginx:v1

客户端上传镜像

docker tag centos:7 192.168.233.22/test1/centos:v1

docker push 192.168.233.22/test1/centos:v1

通过角色对权限进行控制

首先用户管理——创建用户

然后点击项目——成员——用户

角色

1.先添加用户,用户就是一个普通用户,私有项目是无法浏览的

2.要浏览私有项目,必须要项目中添加成员,设定成员的角色

受限访客:只能看,不能上传也不能下载,也没有其他权限

访客:拥有只读权限,可以拉取镜像,不能上传,也无法删除镜像

开发者:可以读写,但是不能删除镜像

维护人员:有读写权限,也可以对项目的配置进行修改

项目管理员:读写、修改、删除都可以

仓库之间的镜像复制

首先仓库管理——新建目标

然后复制管理——新建规则

点击复制

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值