docker-harbor私有仓库部署和管理

news/2024/12/30 1:18:19/

harbor:开源的企业级的docker仓库软件

仓库:私有仓库 公有仓库 (公司内部一般都是私有仓库)

habor 是有图形化的,页面UI展示的一个工具,操作起来很直观。

harbor每个组件都是由容器构建的,所以安装harbor必须要有docker

docker-compose 一键编排,所以也是需要安装的。

harbor:

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

2、镜像复制,每个仓库(之间可以通信)之间可以互相复制里面的镜像

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

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

5、审计管理,所有对镜像仓库的操作都有记录,用于审计管理


harbor的组件:

主要的组件:

1、porxy:nginx的前端页面,nginx的配置中做了反向代理,浏览器不同的请求转发到后端不同的容器中。

2、Registry:仓库,保存镜像,同时push上传/pull下载(核心功能)

3、core services:Harbor的核心功能,对用户进行授权,检测仓库内镜像的变化以及token,根据不同的权限给予不同的token(token相当于身份的认证)

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

5、JOB services:镜像复制,不同仓库之间进行复制

6、log collector:日志收集工具

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


实验环节

客户端:docker

服务端1:harbor docker docker-compose

服务端2:harbor docker docker-compose

1、部署服务端

2、客户端和服务器之间上传,下载镜像,权限控制(重要)

3、仓库之间的镜像复制。(服务器迁移用得到)

拖入harbor-offline-installer-v2.8.1.tgz 压缩包

对其进行解压tar -xf

解压完成出现harbor这个目录,进入这个目录中,查看这个目录中的文件

出现一个harbor.yml.tmpl这个文件,对其进行备份,备份的文件名称为harbor.yml

对harbor.yml配置文件进行编辑

在第5行修改一下ip地址为192.168.124.10

5 hostname: 192.168.124.70

 第13行至18行把https注释掉

13 #https:14   # https port for harbor, default is 44315   #port: 44316   # The path of cert and key files for nginx17   #certificate: /your/certificate/path18   #private_key: /your/private/key/path

第34行管理员的密码可更改也可以不改,改成自己熟悉的密码

34 harbor_admin_password: 123456

 第53行data_volume:上传到仓库之后,仓库保存的镜像路径

53 data_volume: /data

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

Unable to find image 'goharbor/prepare:v2.8.1' locally
v2.8.1: Pulling from goharbor/prepare
fae4a5262fc3: Pull complete
9349e879c799: Pull complete
f70ee3e2dda4: Pull complete
e4481ec28daf: Pull complete
5e2207505ae9: Pull complete
8a696946fd36: Pull complete
31fd4a582b38: Pull complete
940005f64c71: Pull complete
bac5bba6e7f3: Pull complete
93231c0f7f57: Pull complete
Digest: sha256:22f96c244c2b0644dadc8049f8a49847e76e946743e12f78f69eac682ece4fc9
Status: Downloaded newer image for goharbor/prepare:v2.8.1
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

./install.sh执行harbor软件里面的脚本安装相关软件

✔ ----Harbor has been installed and started successfully.----

 在浏览器访问192.168.124.70这个页面

往库里面的项目上传镜像

进入这个harbor库中命令

[root@localhost harbor]# docker login -u admin -p 123456 http://192.168.124.70

先把镜像打上一个标签

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

必须以192.168.124.70/test1/nginx:v1这种格式,不然浏览器的库识别不了

然后往库中的项目上传镜像

[root@localhost harbor]# docker push 192.168.124.70/test1/nginx:v1
The push refers to repository [192.168.124.70/test1/nginx]
9543dec06aa8: Pushed
ccf4f419ba49: Pushed
21f8452ebfb1: Pushed
25bbf4633bb3: Pushed
a4f34e6fb432: Pushed
3af14c9a24c9: Pushed
v1: digest: sha256:9081064712674ffcff7b7bdf874c75bcb8e5fb933b65527026090dacda36ea8b size: 1570

角色:

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

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

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

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

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

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

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

docker.service配置添加ip地址

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

项目迁移

安装harbor

安装配置docker-compose

1 mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
2 chmod 777 /usr/local/bin/docker-compose
3 docker-compose -v
4 Docker Compose version v2.18.0
5 tar -xf harbor-offline-installer-v2.8.1.tgz
6 ls
7 containerd  harbor  harbor-offline-installer-v2.8.1.tgz  rh
8 cd harbor
9 ls
10 common.sh  harbor.v2.8.1.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
11 cp harbor.yml.tmpl harbor.yml
12 vim harbor.yml
13 ./prepare #编译环境
14 ./install.sh   ##开始安装
#如果需要修改harbor配置文件重新./install.sh在执行一次即可

进入页面

复制管理新建规则

如果不选则拉取所有


http://www.ppmy.cn/news/1516740.html

相关文章

高效的数据恢复软件介绍给大家!

数据丢失可太烦人了,在工作中我们经常会遇到数据丢失的情况,那么你知道数据丢失怎么找回来吗?当然找的回来啦!需要用上高效且有用的数据恢复工具。那么,今天就要给大家介绍两个好用的数据恢复工具,可以将您…

5个常见问答 | 1+X证书《大数据应用开发(Python)》

1、 1X大数据应用开发(Python)哪些人群可以考? 全日制在读的中高职学校、应用型本科、本科层次职业教育试点学校院校的学生,有意向从事与证书相关岗位的社会人士都可考取该证书。 2、1X大数据应用开发(Python&am…

网络udp及ipc内存共享

大字符串找小字符串 调试 1. 信号处理函数注册:•一旦使用 signal 函数注册了信号处理函数,该函数就会一直有效,直到程序结束或者显式地取消注册。2. 注册多次的影响:•如果多次注册同一信号的处理函数,最后一次注册的…

【手写数据库内核组件】0303 数据缓存池(二) 缓存块使用前需要固定,缓存加载与无效,无锁的替换算法

0303 数据缓存池(二) ​专栏内容: postgresql使用入门基础手写数据库toadb并发编程个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 文章目录 0303 数据缓存池(二)一、概述 二、缓存块操作原理 2.1 缓存块的读写访问 2.2 无…

C学习(数据结构)-->实现链式结构二叉树

目录 一、链式二叉树结构 二、实现 1、申请新结点 2、前、中、后序遍历 1)前序遍历 例: 2)中序遍历 3)后序遍历 3、结点个数 1)二叉树结点个数 例:​编辑 2)二叉树叶子结点个数 3&…

网络排名变差算法在充电桩计量可信度评价中的应用AcrelCloud-9000安科瑞充电柱收费运营云平台

摘要:网络排名变差算法是指根据充电交易流水数据构造桩车网络,利用复杂网络的投票智慧而非传统的物理实验来获得对量值的信心。将排名变差算法用于桩车网络计算中,旨在检定合格的充电桩对其他充电桩排名变化的影响,这种影响以电动…

计算机毕业设计选题推荐-OA办公管理系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Git提交错误代码如何回退代码

1,找到需要回退的提交行,点击右键,点击重置当前分支到此次提交 2,选择强行合并 3,执行git pull -f 强行推送 4,如果当前账号没有开启本分支强推权限 需要去git开启 5,如果没有推送,处于待推…