当前位置:网站首页>实用小技能:一键获取Harbor中镜像信息,快捷查询镜像
实用小技能:一键获取Harbor中镜像信息,快捷查询镜像
2022-08-09 09:34:00 【51CTO】
【摘要】
一键获取Harbor中的镜像列表,无需登录harbor UI,也可批量下载镜像到本地并保存为tar包。
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。
活动链接: https://github.com/weopenprojects/WeOpen-Star
前言
我们要查询Harbor中某个项目下某个镜像是否存在,需要登录Harbor UI管理界面,然后进入到项目(Project),再到搜索框输入镜像的名称来查找镜像在不在。
那么,如果只知道镜像的名称,不知道镜像在哪个项目(Project)呢?你是每个项目下都去搜索么?
那么!有什么方法可以简化这些操作呢?即:
- 不需要登录Harbor就可以看到Harbor里面所有的镜像;
- 仅提供镜像名称就可以看到镜像在哪个项目;
- 仅知道镜像名称就可以判断Harbor镜像仓库中是否存在这个镜像,从而判断上传的镜像是否上传成功。
我在工作中常遇到开发的同事的问题:
- 我上传一个镜像,帮忙看上传成功没?
- 我刚发布一个服务,构建的时候报错一直找不到镜像,这是什么原因?
- 我之前上传好几个版本的镜像,怎么知道都有哪些?
命令行获取Harbor镜像清单
在Harbor服务主机上,可通过如下命令在 registry 存储目录下获取镜像列表:
Shell脚本获取Harbor中所有的镜像列表
前面在harbor服务主机命令行实现了harbor镜像清单列表的获取。
那么,如果不是在Harbor服务主机上又该如何获取呢?
通过调用Harbor API,先获取所有项目(Projects),然后循环获取每个项目下的镜像名称,再循环获取某个镜像的所有tag版本,最后以指定的格式输出到一个镜像清单文件中。
而Harbor的API有两个版本(v1、v2), 每个版本的API调用方法都不一样。
3.1 查看API版本
3.2 Harbor V1 API的shell脚本
然后可以打开$File中的文件查看镜像清单了!
3.3 Harbor API v2版本的Shell脚本实现
基于镜像清单将Harbor中的镜像制作成tar包
前面通过shell脚本获取harbor中的镜像列表,并以
harbor地址:服务端口/项目名称/镜像名称:tag
的格式输出到文件中。
接下来可根据该文件批量pull镜像到本地,然后制作成tar包。
4.1 编写shell脚本
【原创声明】
本文为作者原创,正逐个迁移至微信公众号《Harbor进阶实战》。
边栏推荐
猜你喜欢
随机推荐
一篇文章让你彻底搞懂关于性能测试常见术语的定义
What are the basic concepts of performance testing?What knowledge do you need to master to perform performance testing?
【机器学习】网络爬虫实战详解
2021-04-26QGIS3.10加载天地图影像(地图瓦片)的一种方法
日期操作比较全面得代码
图表示学习(Graph Representation Learning)笔记
class object property method class member
6.File类
Source GBase database, oracle quote "ORA - 01000: beyond the shop open the cursor"
latex中复杂公式换行等号对齐
归并排序
What is the reason for the suspended animation of the migration tool in the GBase database?
2.Collection interface
银联最新测试工程师笔试题目,你能得多少分?
关于SQL的SELECT查询语句的一般格式的描述2021-05-19
【个人学习总结】CRC校验原理及实现
seata处理分布式事务
Ontology development diary 04 - to try to understand some aspects of protege
选择黑盒测试用例设计方法的综合策略方案总结
mysql 修改密码和忘记密码操作