查看私有仓库有哪些镜像

如果私有仓库带有认证,在使用 curl 命令的时候需要带上 -u 参数

使用方法:

curl -XGET -u <仓库用户名>:<用户名密码> http://<仓库ip地址>:<仓库端口>/v2/_catalog

curl -XGET -u admin:admin http://192.168.91.18:5000/v2/_catalog

输出的格式为 json

{"repositories":["centos","debian","mysql","nginx","php"]}

如果输出的镜像很多,可以用 python 格式化 json 格式,方便查看

curl -s -XGET -u admin:admin http://192.168.91.18:5000/v2/_catalog | python -m json.tool

这样看,也会直观很多

{"repositories": ["centos","debian","mysql","nginx","php"]
}

查看私有仓库镜像的tag

使用方法:

curl -XGET -u <仓库用户名>:<用户名密码> http://<仓库ip地址>:<仓库端口>/v2/<镜像名称>/targs/list

curl -XGET -u admin:admin http://192.168.91.18:5000/v2/centos/tags/list

输出的格式为 json

{"name":"centos","tags":["latest","7"]}

如果输出的 tag 很多,可以用 python 格式化 json 格式,方便查看

curl -s -XGET -u admin:admin http://192.168.91.18:5000/v2/centos/tags/list | python -m json.tool

这样看,也会直观很多

{"name": "centos","tags": ["latest","7"]
}

删除私有仓库指定镜像

确认是否开启删除功能

如果没有开启,执行删除镜像操作的时候,会返回如下两种结果

{"errors":[{"code":"UNSUPPORTED","message":"The operation is unsupported."}]}
HTTP/1.1 405 Method Not Allowed
Content-Type: application/json; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
X-Content-Type-Options: nosniff
Date: Fri, 18 Mar 2022 04:12:22 GMT
Content-Length: 78

查找 registry 容器

docker ps | grep registry

以自己实际获取的信息为准

3745255afa90   registry   "/entrypoint.sh /etc…"   About an hour ago   Up About an hour   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry

进入容器

registry 进入容器的终端是 sh

docker exec -it 3745255afa90 sh

一般都是在 /etc/docker/registry/config.yml

registry 镜像里面有 vi 没有 vim

vi /etc/docker/registry/config.yml

我拉取的 registry 镜像默认没有配置 delete 功能

version: 0.1
log:fields:service: registry
storage:cache:blobdescriptor: inmemoryfilesystem:rootdirectory: /var/lib/registry
# 增加这里的 delete 和 enabled ,注意 yaml 语法格式
# 如果有 delete ,并且 enable 为 true 表示已经开启了删除功能delete:enabled: true
http:addr: :5000headers:X-Content-Type-Options: [nosniff]
health:storagedriver:enabled: trueinterval: 10sthreshold: 3

修改完成后,重启 registry 容器

docker restart 3745255afa90

获取指定镜像的 hash 值

使用方法

curl --header "Accept:application/vnd.docker.distribution.manifest.v2+json" -I \ -u <仓库用户名>:<用户名密码> http://<仓库ip地址>:<仓库端口>/v2/<镜像名称>/manifests/<镜像 tag>

curl -I -XGET --header "Accept:application/vnd.docker.distribution.manifest.v2+json" \
-u admin:admin http://192.168.91.18:5000/v2/centos/manifests/latest

Docker-Content-Digest 这里就会出现镜像的 hash 值

HTTP/1.1 200 OK
Content-Length: 529
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Docker-Content-Digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc"
X-Content-Type-Options: nosniff
Date: Fri, 18 Mar 2022 04:06:42 GMT

删除私有仓库中的镜像

使用方法

curl -I -XDELETE -u <仓库用户名>:<用户名密码> \ http://<仓库ip地址>:<仓库端口>/v2/<镜像名称>/manifests/<获取的 hash 值>

curl -I -XDELETE -u admin:admin \
http://192.168.91.18:5000/v2/centos/manifests/sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc

返回的状态码是 202

HTTP/1.1 202 Accepted
Docker-Distribution-Api-Version: registry/2.0
X-Content-Type-Options: nosniff
Date: Fri, 18 Mar 2022 04:24:23 GMT
Content-Length: 0

再次查看 centos 镜像的 tag 列表

curl -XGET -u admin:admin http://192.168.91.18:5000/v2/centos/tags/list

现在只有一个 7 这个 tag 的镜像了

{"name":"centos","tags":["7"]}

docker-registry 私有仓库镜像 之 查看与删除相关推荐

  1. 【K8S 二】搭建Docker Registry私有仓库(自签发证书+登录认证)(K8S和非K8S环境下)

    目录 生成证书(更新:2022-08-02) 单SAN(Subject Alternative Name)的场景 多SAN(Subject Alternative Name)场景 创建openssl配 ...

  2. docker看远程仓库镜像_查看Docker镜像仓库中镜像的所有标签

    用 Docker 的人都知道,我们在查询远端镜像仓库中镜像的时候,在命令行只能看到镜像名,说明等信息,而看不到标签.因此,如果我想要查看镜像有哪些标签,就只能通过网页的方式查看,比如通过 https: ...

  3. Docker——docker-registry私有仓库集群构建

    摘要 随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传 ...

  4. 一文搞定docker创建私有镜像仓库(配置启动http和https方式私有仓库服务,查询、删除私有仓库镜像)

    docker除了使用公共镜像仓库之外,也可以创建私有镜像仓库.对于内部开发.测试.部署环境来说,是很有必要的.        如何创建私有镜像仓库服务呢?当然是以容器的方式啦! 1.拉取官方regis ...

  5. Docker搭建Registry私有仓库

    Docker搭建Registry私有仓库 简介 私有仓库安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了.然而不太方便的地方是不能直观的查看 registry 中的资源 ...

  6. registry 删除私有仓库镜像

    文章目录 写在前面 一.查询镜像digest值 二.根据digest进行删除操作 1.命令行调用删除接口 2.可能出现的问题,删除时返回UNSUPPORTED 解决方式1 解决方式2 三.使用regi ...

  7. docker搭建私有仓库笔记

    为什么80%的码农都做不了架构师?>>>    安装之前需要docker环境,安装docker环境参考:http://www.runoob.com/docker/centos-doc ...

  8. Docker harbor私有仓库部署与管理

    Docker harbor私有仓库部署与管理. 前言 一.什么是Harbor 二.Harbor的特性 三.Harbor的构成 四.Harbor部署 4.1 环境准备 4.2 部署Docker Comp ...

  9. Docker创建私有仓库

    Docker创建私有仓库 1.安装docker docker私有库本身就是一个docker镜像,所以,首先要安装docker,然后启动这个镜像.关于安装docker的过程,参考另外一个文章: 安装do ...

最新文章

  1. SAP QM 模块的弊端?
  2. ML.NET 示例:对象检测-ASP.NET Core Web和WPF桌面示例
  3. linux下添加apt-get命令,Ubuntu Linux系统下apt-get命令整理
  4. 安装Go 1.9.2
  5. [小木虫]推荐几个机器学习算法及应用领域相关的中国大牛
  6. 【批处理学习笔记】第二十五课:间接传递
  7. Shell(一) 入门到复杂 自己做的各种脚本实例与解释
  8. Axure原型模板CRM客户关系管理系统高保真原型设计
  9. keil5.155.18版本兼容keil4安装包百度云链接
  10. HDU - 5855 Less Time, More profit 最大权闭合子图 + 二分
  11. JS实现关闭网页广告弹窗特效
  12. 计算机网络与安全课程设计,计算机网络课程设计-网络安全..doc
  13. 【手游项目4】过滤特殊字符,游戏账号名,玩家游戏名,数据库特殊字符检测
  14. 图片转pdf用什么软件好?图片转pdf软件哪个好?
  15. 陪玩MM谁是你的NO.1?Python获取陪玩MM照片颜值检测打分
  16. initramfs 在内核中的作用与实现
  17. python里的map是什么意思_python中map什么意思
  18. app推广有哪些方式?
  19. 对链特异性建库的理解
  20. C# HttpWebRequest 必须使用适当的属性或方法修改“Host”标头;必须使用适当的属性或方法修改“Date”标头。

热门文章

  1. K12867 购买玩具
  2. 大厂offer和研究生学历哪个更香?
  3. 即时通讯项目 java版本qq (含服务器和客户端)源码_即时通讯安卓-QQ互联网和即时通讯云,如何实现即时通讯,这是Android还是Java...
  4. 中国封闭式药物转移系统市场现状研究分析与发展前景预测报告
  5. Python多进程、多线程编程
  6. portlet java_[Java] 使用 Spring 2 Portlet MVC 框架构建 Portlet 应用
  7. oracle用户密码已过期,oracle提示登录密码过期完美解决方法
  8. 《网络安全》第1章部分作业解答
  9. 从远程计算机获取WMI数据
  10. 使用python控制摄像头