格式化输出docker registry中所有的tag以及tag链接

最近在研究kubernetes,docker仓库用到的比较多,每次查询都得curl好麻烦,所以才写了这个。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
author = ‘Perling‘
time = ‘2016/11/10‘
"""

import urllib2
import json

registry="172.31.14.229:5000"
registry_url = "http://%s"%registry

def http_get(url):
    req = urllib2.Request(url)
    req.add_header("Content-Type","application/json-rpc")
    resp = urllib2.urlopen(req)
    resp_json = json.loads(resp.read())
    return resp_json

def get_repository_list():
    data = http_get(registry_url+"/v2/_catalog")
    repository_list = data[‘repositories‘]
    return repository_list

def get_repository_tags(repository):
    data = http_get("%s/v2/%s/tags/list"%(registry_url,repository))
    tags = data[‘tags‘]
    return tags

def get_all_repository_tags():
    data = {}
    for repositoary in get_repository_list():
        data[repositoary]=get_repository_tags(repositoary)
    return data

if __name__ == ‘__main__‘:
    data = get_all_repository_tags()
    print "/"
    print "|"
    for key in data:
        print "|--- %s"%key
        for tag in data[key]:
            print "|    |--- %-15s %s/%s:%s"%(tag,registry,key,tag)
时间: 2024-10-13 08:28:19

格式化输出docker registry中所有的tag以及tag链接的相关文章

简单搭建docker registry

已知信息: 服务端IP:192.168.7.2xx 客户端IP:192.168.7.1xx 服务端: docker registry中镜像本地映射地址:/Users/dockergit/private_registry(可自定义) docker registry容器中镜像存储地址:/var/lib/registry 客户端: 已创建image:test_agent:latest 环境为Linux OS,服务端和客户端都安装好docker,能使用docker命令. 简单搭建docker regis

SUSE Portus + Docker Registry在Rancher环境下的部署实战

在正文之前,我们先来看一下,如果没有容器,通常会如何部署 Docker Registry?关于这个问题,我简单画了一个草图: 下面简单解释一下: Nginx:用来做 Docker Registry 的代理和软件负载均衡Keepalived 采用主备加虚拟 IP 的方式,解决 Nginx 的单点问题,保证 Nginx 服务的高可用性. Docker Registry:这是 Docker 官方开源的私有镜像仓库项目,对应 github 上的 docker-distribution 项目,也是私有镜像

Docker私有仓库 Registry中的镜像管理

如何删除私有 registry 中的镜像? 首先,在默认情况下,docker registry 是不允许删除镜像的,需要在配置config.yml中启用:vim /etc/docker/registry/config.yml version: 0.1 log: fields: service: registry storage: delete: enable: true cache: blobdescriptor: inmemory filesystem: rootdirectory: /var

java中格式化输出

JAVA中有时候需要对计算出来的数据进行格式化,在java中使用printf可以达到目的. 格式化输出,每个以%字符开始的格式说明都用相应的参数替换,f表示浮点数,s表示字符串,d表示十进制整数,还可以加上标志符,详见下面的printf的标志. 下面先举一例: 1 public class testPrintf { 2 public static void main(String[] args){ 3 double number = 10000.0/3.0; 4 System.out.print

python中神奇的格式化输出

python一共有两种格式化输出语法, 一种是类似于C语言printf的方式,称为 Formatting Expression >>> '%s %d-%d' % ('hello', 7, 1) 'hello 7-1' 另一种是类似于C#的方式,称为String Formatting Method Calls >>> '{0} {1}:{2}'.format('hello', '1', '7') 'hello 1:7' 第一种方式可以指定浮点数的精度,例如 >>

C++中C/C++格式化输出

对于不同的机器,一此格式化输出的函数经常会得不到正确的输出,比方小端上的程序在大端上执行等,另外,在日常程序开发时,也会经常被这种小问题而困扰非常久.终于发现是她的问题.不免有点叹息,以下对printf/wprintf/CString.Format等相关函数所使用的格式化输出的语法作一总结.有些是从官方资料摘过来的,还是英文的. 函数中格式化声明的一般格式为: %[flags] [width] [.precision] [{h | l | ll | I | I32 | I64}]type 当中的

java中格式化输出大神Formatter简历

一.干嘛的?(作用) 在java中,所有新的格式化功能都有formatter类处理.可以将formatter看作一个翻译器,它将你的格式化字符串与数据翻译成需要的结果.比如很多地方格式输出都有用到,像我们在超市购物付款时候打印的购物小票啊,所以还是很实用的. 二.籍贯(所在库) java中的Formatter类位于java.util.Formatter中,所以需要用到的时候只要import进来就可以用了.注意,请选择1.5及以上版本的编译器,否则会出现"The method format(Str

python中格式化输出和字母大小写转换,对齐填充方式

#格式化输出print("ang is a good time")str7="ong is a boy"num=10f=5.22313# %d(整数站位符) %s(字符串站位符) %f(浮点数站位符)# %f默认小数点后6位,%.3f精确到小数点后3位.默认会四舍五入print("num=",num,"f=",f)print("num= %d,str7=%s,f=%.9f" %(num,str7,f))''

jstl中的sql:query标签获取的结果如何格式化输出

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*&q