본문 바로가기

개발메모

Docker registry image push와 삭제

docker registry image pull하고

 

docker pull registry

 

docker run -d -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true registry

 

 

docker ps -a 로 registy container가 올라간 것을 확인할 수 있다

현재 registy에 있는 image의 목록은 curl로 확인 가능

 

curl -X GET localhost:5000/v2/_catalog

요렇게 하면 repo 정보가 뜬다. tag 정보는 아래로 확인

curl -X GET localhost:5000/v2/[repo name]/tags/list

 

 

registy에 image를 push하려면 이름 앞에 hostname이 붙어야한다

localhost:5000/imagename:tagname

위와 같은 형태로 만들어준다

docker tag imagename:tagname localhost:5000/imagename:tagname

 

그리고 push

docker push localhost:5000/imagename:tagname

 

docker rmi로 삭제하면 registry image가 아니라 local image가 삭제된다.

혹시나 용량 문제로 registry에서 image를 삭제하려면 아래와 같이 한다

 

 

Content digest 값 조회

curl -v --silent -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X GET <registry url>/v2/<repo>/manifests/<tag> 2>&1 | grep Docker-Content-Digest | awk '{print ($3)}'

 

조회한 digest 값으로 해당 값 삭제

curl -X DELETE -v localhost:5000/v2/pytorch/pytorch/manifests/<digest 값>

 

GC 실행

docker exec -it <registry container 이름>  bin/registry garbage-collect  /etc/docker/registry/config.yml 

'개발메모' 카테고리의 다른 글

screen 설정  (0) 2022.10.27
Ubuntu에서 apt에 cuda list 추가  (0) 2022.10.13
ubuntu 18에서 카카오톡 실행  (0) 2021.11.30
ubuntu에서 ssh 이용하기  (0) 2021.11.05
wget 사용하기  (0) 2021.11.05