docker registry 批量删除镜像

参考地址 registry delete
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只是个大概数,只要比自己所用的镜像总数多就可以

猜你喜欢

转载自fengyilin.iteye.com/blog/2371092