docker registry 批量删除镜像
程序员文章站
2022-05-18 15:44:58
...
参考地址 registry delete
registry版本2.0
1.registry启动时环境变量追加 REGISTRY_STORAGE_DELETE_ENABLED=true
2.下载附件registry.py.zip,并解压
3.执行脚本
4.说明
上述脚本默认每个镜像保留最新的10个版本,可以通过参数设定保留的版本数
python registry.py -l user:pass -r https://registry:5000 --delete --num 3
5.在使用的过程中发现,如果registry分页时,直接利用registry.py效果只是对第一页的镜像删除,如果出现这种情况,可以将 registry.py 的123行从 result = self.send('/v2/_catalog') 改成 result = self.send('/v2/_catalog?n=5000') ,其中5000只是个大概数,只要比自己所用的镜像总数多就可以
registry版本2.0
1.registry启动时环境变量追加 REGISTRY_STORAGE_DELETE_ENABLED=true
docker run --name registry -e REGISTRY_DELTET_ENABLED=true -e REGISTRY_STORAGE_DELETE_ENABLED=true -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry -d -p 5000:5000 -v /data/registry/data:/var/lib/registry registry
2.下载附件registry.py.zip,并解压
3.执行脚本
python registry.py -l user:pass -r https://registry:5000 --delete docker exec -it <registry container id or name> registry garbage-collect /etc/docker/registry/config.yml
4.说明
上述脚本默认每个镜像保留最新的10个版本,可以通过参数设定保留的版本数
python registry.py -l user:pass -r https://registry:5000 --delete --num 3
5.在使用的过程中发现,如果registry分页时,直接利用registry.py效果只是对第一页的镜像删除,如果出现这种情况,可以将 registry.py 的123行从 result = self.send('/v2/_catalog') 改成 result = self.send('/v2/_catalog?n=5000') ,其中5000只是个大概数,只要比自己所用的镜像总数多就可以