본문 바로가기

Cloud/Docker

Docker Private Registry에 등록된 이미지 지우기

이미지 조회

curl -X GET [Registry Address]/v2/_catalog

이미지 태그 조회

curl -X GET [Registry Address]/v2/[Image Name]/tags/list

Docker Digest 얻기

curl -v --silent -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X GET [Registry Address]/v2/[Image Name]/manifests/[Tags] | grep Docker-Content-Digest

 sha:~로 시작하는 애가 필요한 애다.

이미지 삭제하기

curl -v --silent -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X DELETE [Registry Address]/v2/[Image Name]/manifests/[sha256:]

가비지 콜렉션 실행

docker exec -it [Registry] bin/registry garbage-collect /etc/docker/registry/config.yml

 

문제는 이렇게 해도 조회했을 때 이미지가 나타난다.

# curl -X GET [Registry Address]/v2/[Image Name]/tags/list
{"name":"[Image Name]","tags":null}

어쩔 수 없이 물리적으로 지워준다.

docker exec -it [Registry] /bin/sh

/ # cd /var/lib/registry/docker/registry/v2/repositories/
/var/lib/registry/docker/registry/v2/repositories # ls
[Image 목록 나옴]

/var/lib/registry/docker/registry/v2/repositories # rm -rf [Image]
/var/lib/registry/docker/registry/v2/repositories # exit

이렇게 하면 말끔하게 사라진다.