关于使用镜像仓库的思考

本文介绍如何利用Registry和Harbor两种主流镜像仓库进行镜像管理。包括通过API获取最新镜像的方法及在Jenkins环境中调用Python脚本实现自动化部署流程。同时对比了Harbor在图形界面操作上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在比较主流的镜像仓库 是 registry 和 harbor

使用registry 镜像仓库,通过api 能抓去最新的 镜像

例如

registry API

curl https://docker.cinyi.com/v2/_catalog

curl https://docker.cinyi.com/v2/senyint/nginx/tags/list

 

生产环境 jenkins 调用 python脚本,返回测试环境最后打的tag 的镜像

#!/usr/bin/env python

import commands
from sys import argv

def gettags(name):
    line=commands.getstatusoutput('curl -sl https://docker.cinyi.com/v2/'+ name + '/tags/list')
    dictline = eval(line[1])
    print  'docker.cinyi.com:443/' + name + ':' + dictline["tags"][-1]


if __name__ == '__main__':
    prometheos = argv[1]
    gettags(prometheos)
                    

 

[root@registry ~]# python getdockerimage.py senyint/nginx
docker.cinyi.com:443/senyint/nginx:v.12

测试环境 使用 jenkins 发版 上传 images到 registry , 生产环境发版 直接调用 测试环境最后一个镜像, 前提是 configmap 映射的 环境变量名相同,比如:MYSQLSERVER 

而使用 harbor 镜像仓库,图形页面比较方便操作,

curl -u admin:admin  -X GET -H  "Content-Type:application/json"  http://docker.senyint.com/api/projects/



#注意 senyint/nginx 需要使用 %2F替换
[root@harbor data]# curl -u admin:admin  -X GET -H  "Content-Type:application/json"  http://docker.senyint.com/api/repositories/senyint%2Fnginx/tags/v.10

#能够查看 tags
curl -u admin:admin  -X GET -H  "Content-Type:application/json"  http://docker.senyint.com/api/repositories/senyint%2Fnginx/tags/


 

转载于:https://www.cnblogs.com/fengjian2016/p/8231687.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值