操作步驟
- 通過環境變量修改默認配置,允許刪除
- 獲取image的sha值
- 進入registry容器中,執行垃圾回收
- 刪除殘留目錄
#環境變量 REGISTRY_STORAGE_DELETE_ENABLED=true 用於覆蓋默認設置
docker run -d -v /opt/registry:/var/lib/registry -e REGISTRY_STORAGE_DELETE_ENABLED=true -p 5000:5000 --restart=always --name registry registry:2
#聲明要刪除的鏡像名稱
image=...
#獲取sha
sha=`ls /opt/registry/docker/registry/v2/repositories/$image/_manifests/revisions/sha256`
#刪除 需替換registryurl
curl -XDELETE http://<registryurl>/v2/$image/manifests/sha256:$sha
#垃圾回收
docker exec -it registry sh
registry garbage-collect /etc/docker/registry/config.yml
exit
#刪除殘留目錄
rm -rf /opt/registry/docker/registry/v2/repositories/$image
參考:
https://docs.docker.com/registry/configuration/#delete
https://docs.docker.com/registry/garbage-collection/
https://blog.csdn.net/happyzwh/article/details/86300733
https://www.jianshu.com/p/2d63b0461a51
