获取docker私有仓库中所有镜像的方法

搭建好docker私有仓库,但是不能查看里面的所有镜像,于是写一小脚本,目的是获取到该仓库中的所有镜像的名字。

#-*- coding:utf-8 -*-
#!/usr/bin/env python
‘‘‘
Created on 2016.10.8
@author: an_time
@desc: get images name from registry
‘‘‘

import requests
import json
import traceback

repo_ip = ‘172.16.2.23‘
repo_port = 5000

def getImagesNames(repo_ip,repo_port):
    docker_images = []
    try:
        url = "http://" + repo_ip + ":" +str(repo_port) + "/v2/_catalog"
        res =requests.get(url).content.strip()
        res_dic = json.loads(res)
        images_type = res_dic[‘repositories‘]
        for i in images_type:
            url2 = "http://" + repo_ip + ":" +str(repo_port) +"/v2/" + str(i) + "/tags/list"
            res2 =requests.get(url2).content.strip()
            res_dic2 = json.loads(res2)
            name = res_dic2[‘name‘]
            tags = res_dic2[‘tags‘]
            for tag in tags:
                docker_name = str(repo_ip) + ":" + str(repo_port) + "/" + name + ":" + tag
                docker_images.append(docker_name)
                print docker_name
    except:
        traceback.print_exc()
    return docker_images

a=getImagesNames(repo_ip, repo_port)
# print a

运行结果:

时间: 2025-01-15 14:53:19

获取docker私有仓库中所有镜像的方法的相关文章

删除docker私有仓库中的镜像

docker私有仓库v2版本中的镜像,官方不建议删除,但是也提供了删除接口: DELETE /v2/<name>/manifests/<reference> Host: <registry host> Authorization: <scheme> <token> 删除的原理就是把索引删掉,但磁盘上的数据是删不掉的.这是由于各个镜像之间的不同层共用的关系,可能导致删除一个镜像后其余的镜像也无法使用了. 用python实现伪删除,代码如下: #-*

docker删除私有仓库中的镜像

1.curl -X DELETE docker.qian.cn:5000/v1/repositories/镜像名称/ 2. v1可以参考https://gist.github.com/kwk/c5443f2a1abcf0eb1eaa v2可以参考https://github.com/burnettk/delete-docker-registry-image

Docker私有仓库registry

1.docker私有仓库的搭建与使用    docker不仅有一个中央仓库,同时也允许我们搭建自己的私有仓库,如果读者对maven有了解,将很容易理解私有仓库的优势:    1.节省带宽,镜像无需从中央仓库下载,只需要从私有仓库中下载即可    2.对于私有仓库中已经有的镜像,提升了下载速度    3.便于内部镜像的统一管理2.下面我们来讲解一下如何搭建.使用私有仓库:    1.准备两台安装有docker的Centos7的机器,主机规划如下:        主机         IP     

docker私有仓库的搭建和使用。

1.下载仓库镜像docker pull registry 2.创建私有仓库容器-d表示后台启动docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry 3.防火墙解除5000端口限制firewall-cmd --zone=public --add-port=5000/tcp --permanent 4.验证私有仓库是否启动成功http://192.3.8.12:5000/v2 5.打包镜像docker

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

在docker私有仓库如何查看有哪些镜像?

搭建了docker私有仓库,上传了一些镜像,时间长了就会忘了有哪些镜像,在网上查了,有大佬是通过脚本查看的,多厉害! #!/usr/bin/env python#-*- coding:utf-8 -*-#'''#Created on 2016.10.8#@author: an_time#@desc: get images name from registry#''' import requestsimport jsonimport traceback repo_ip = '192.168.220

kubernetes下载docker私有仓库镜像

环境说明 docker仓库未认证地址:192.168.10.200:5000用户名:admin密码:admin邮箱:[email protected] 修改docker配置,访问docker私有仓库 1.docker源生版本 $cat /etc/sysconfig/docker # /etc/sysconfig/docker # Modify these options if you want to change the way the docker daemon runs OPTIONS='-

Docker私有仓库Registry的搭建验证

1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像.这个可以通过开源软件Registry来达成目的. Registry在github上有两份代码:老代码库和新代码库.老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发.从2.0版本开始就到

docker私有仓库删除image

docker仓库存放着公司内部的镜像.时间长了难免存在一些废弃的镜像在里面.如果不删除造成空间的浪费.下面就简单的看看仓库中的镜像是怎么删除的. 第一步:registry启动依赖config.yml配置文件:在默认文件的storage区域中添加delete_enable_ture配置项.也可以在启动时候指定-e添加.允许删除镜像: 配置文件: 第二步:下载registry镜像并启动容器. docker run  -d -v /conf/:/etc/docker/registry -v /opt/