1. 程式人生 > 實用技巧 >docker registry 刪除映象 垃圾回收

docker registry 刪除映象 垃圾回收

操作步驟#

  1. 通過環境變數修改預設配置,允許刪除
  2. 獲取image的sha值
  3. 進入registry容器中,執行垃圾回收
  4. 刪除殘留目錄
#環境變數 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