registry 删除私有仓库镜像

 原文链接:https://blog.csdn.net/yogima/article/details/122172744

docker之register搭建私有镜像仓库以及删除docker历史的临时镜像(虚悬镜像) - nick_xm - 博客园

如果需要彻底删除,只需进行register 磁盘删除镜像 彻底删除了,就可以到达彻底删除的目的。


如果只需要软删除,则只需进行通过API删除。

curl --header "Accept:application/vnd.docker.distribution.manifest.v2+json" \
     -I -X GET \
     --cert /path/to/client.crt \
     --key /path/to/client.key \
     --cacert /path/to/ca.crt \
通过API删除:
一、查询镜像digest值

1、其中--cacert /xx/data/middle/registry/certs/xxx-svc.crt \ 表示证书位置

 

curl --header "Accept:application/vnd.docker.distribution.manifest.v2+json" -I -XGET http://xxxxx:5000/v2(固定不动)/test(镜像路径)/tomcat(镜像名称)/manifests(固定不动)/V1.1.0(镜像版本)

 



curl --header "Accept:application/vnd.docker.distribution.manifest.v2+json" \
     -I -X GET \
     --cacert /xxx/data/middle/registry/certs/registry-svc.crt \
     https://registry-svc.xxx.svc.cluster.local:8080/v2/xxx/manifests/xxx



得到:
HTTP/2 200
content-type: application/vnd.docker.distribution.manifest.v2+json
docker-content-digest: sha256:db7ff657755b43e973a39a6b7965db66295b9b58ffeb367758cd87xxxxxx
docker-distribution-api-version: registry/2.0
etag: "sha256:db7ff657755b43e973a39a6b7965db66295b9b58ffeb367758cd87xxxxxx"
x-content-type-options: nosniff
content-length: 5164
date: Wed, 27 Nov 2024 08:44:07 GMT
第二步: 执行删除

curl -X DELETE http://xxx:5000/v2/xx/xxx/manifests/sha256:fb26b27060091b971a1e9ec332c15eeac09a079a4c201808426adae940cbxxxx

此时若删除成功,则调用
curl -X GET http://xxx:5000/v2/xx/xxx/tags/list时

返回结果中tags为null,示例:
{“name”:“test/tomcat”,“tags”:null}


 

register 磁盘删除镜像 彻底删除了

一、删除目录
在清除blobs后,使用curl http://xxx:5000/v2/_catalog依旧能查询到镜像目录,因此还需要进行目录删除操作。注意这里的镜像名是包含路径的,例如test/tomcat。

docker exec <容器名> rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>

二、使用registry gc清除blobs
 
方法一 、容器外外外外外执行:
docker exec docker-registry(容器名) bin/registry garbage-collect /etc/docker/registry/config.yml

方法二 、容器内内内内内执行:
docker exec -it docker-registry /bin/sh
cd /var/lib/registry/ #切换到数据目录:
du -sch #查看磁盘使用情况
registry garbage-collect /etc/docker/registry/config.yml  #执行垃圾回收
du -sch #查看磁盘使用情况
 

你可能感兴趣的:(docker,容器)