关于使用镜像仓库的思考

现在比较主流的镜像仓库 是 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/


 

posted @ 2018-01-07 20:43  fengjian1585  阅读(285)  评论(0编辑  收藏  举报