1) image id를 이용하여 삭제
docker rmi IMAGE_ID
2) repository와 tag를 이용하여 삭제
docker rmi REPOSITORY:TAG
docker images
명령어에 -q /--quiet
옵션을 사용하면 이미지의 id만 출력이 된다.
이를 이미지 삭제 명령어에 응용할 수 있다.
1) repository 혹은 tag가 <none>
인 이미지 삭제하기
docker rmi $(docker images -q --filter "dangling=true")
2) 패턴 활용하기
docker rmi $(docker images -q --filter "reference=ngi*")
docker rmi $(docker images -q --filter "reference=docker/*")
docker rmi $(docker images -q --filter "reference=docker/*:1.*")
3) 특정 이미지를 기준으로 생성된지 오래된 이미지들 삭제 (기준이 되는 이미지는 미포함)
주의! docker image를 내 로컬에 pull 받은 날짜가 기준이 아니다
docker rmi $(docker images -q --filter "before=IMAGE_ID")
4) 특정 이미지를 기준으로 보다 최신인 이미지들 삭제 (기준이 되는 이미지는 미포함)
주의! docker image를 내 로컬에 pull 받은 날짜가 기준이 아니다
docker rmi $(docker images -q --filter "since=IMAGE_ID")
리눅스 명령어 grep
과 awk
를 활용하는 것도 좋은 방법이다.
1) 특정 키워드가 포함된 이미지 삭제하기
docker rmi $(docker images | grep "KEYWORD" | awk '{print $3}')
이 경우 repository, tag 등 종류를 가리지 않고 키워드가 포함되면 삭제시켜 버린다. 그래서 아래 예시처럼 사용하면 3일 전에 생성된 이미지들만 삭제하는 것도 가능하다.
docker rmi $(docker images | grep "3 days ago" | awk '{print $3}')
유용하고 강력한 기능이지만 원하지 않는 방향으로 삭제가 이루어지기도 한다. 예들 들어 abc
라는 키워드가 tag에 포함된 이미지를 삭제하고 싶은데, repository에 abc
가 포함된 이미지들도 삭제가 되어 버린다. 이런 경우 docker images
명령어의 --format
옵션을 활용하면 좋다.
2-1) 특정 키워드가 repository에 포함된 이미지 삭제하기
docker rmi $(docker images --format "{{.ID}} {{.Repository}}" | grep "KEYWORD" | awk '{print $1}')
2-2) 특정 키워드가 tag에 포함된 이미지 삭제하기
docker rmi $(docker images --format "{{.ID}} {{.Tag}}" | grep "KEYWORD" | awk '{print $1}')
--format 에 사용가능한 키값
{{.ID}} {{.Repository}} {{.Tag}} {{.Digest}} {{.CreatedSince}} {{.CreateAt}} {{.Size}}
3) 정규식 활용
egrep을 활용하면 정규식을 통해 필터링하여 삭제할 수 있다.
docker rmi $(docker images | egrep "ngi.x" | awk '{print $3}')
docker rmi $(docker images --format "{{.ID}} {{.Tag}}" | egrep "v1*" | awk '{print $3}')
https://docs.docker.com/engine/reference/commandline/images/
안녕하세요 운영자님
인카토스입니다.
먼저, 댓글로 인사를 드리게 된 점 양해 부탁 드립니다.
이렇게 연락 드린 이유는 이번에 저희가 제작한 도커 각티슈케이스 제품 협찬을 제안드리고 싶어서 연락 드렸습니다.
개발자들에게 많은 사랑은 받은 각티슈케이스입니다.
저희 상품 블로그 포스팅이 가능하실지 여쭙고자 연락드렸습니다.
아니면 클리앙,서버포럼, okky,2cpu,그누보드 등 가입되어 있으신 개발자 커뮤니티가 있으시다면 해당 커뮤니티에 아래와 비슷하게 게시글을 올려주실수 있을까요?
클리앙 : https://www.clien.net/service/board/park/17797443
연락드릴수 있는방법이 댓글밖에 보이지 않아 이렇게 먼저 연락드립니다.
협찬제안에 긍정적인 검토 부탁드리고 제안이 마음에 드신다면 하기 메일로 메일주시면 제품 보내드리도록 하겠습니다.
sungjh0726@naver.com
협찬제품 링크 : https://incatos.shop/surl/P/11