Docker에서 로컬 이미지 삭제

Isaac Tony 2024년2월15일
  1. Docker에서 사용되지 않고 매달린 로컬 이미지 삭제
  2. Docker에서 특정 로컬 이미지 삭제
  3. Docker에서 필터를 사용하여 태그가 지정되지 않은 로컬 이미지 삭제
  4. Docker에서 모든 로컬 이미지 삭제
Docker에서 로컬 이미지 삭제

이 튜토리얼에서는 Docker에서 로컬 이미지를 삭제하는 방법을 소개합니다.

Docker에서 사용되지 않고 매달린 로컬 이미지 삭제

태그가 지정되지 않은 도커 이미지 외에도 사용하지 않은 이미지와 제거하려는 일부 컨테이너가 있다고 가정합니다. 이 경우 아래 표시된 명령을 선택하십시오.

$ docker system prune -a

이 명령은 예를 선택하면 이 명령이 다음을 수행함을 알리는 경고 메시지를 표시합니다.

  • 중지된 모든 컨테이너를 삭제합니다.
  • 적어도 하나의 컨테이너에서 사용하지 않는 모든 네트워크를 삭제합니다.
  • 적어도 하나의 컨테이너가 연결되지 않은 모든 이미지를 삭제합니다.
  • 모든 캐시를 삭제합니다.

그러나 이 명령이 수행해야 하는 작업을 따르지 않고 제거만 하려는 경우:

  • 태그가 지정되지 않았거나 매달린 이미지
  • 정지된 용기;
  • 댕글링 캐시;
  • 하나 이상의 컨테이너에서 네트워크를 사용하지 않습니다.

이 경우 아래와 같이 -a 태그를 포함하지 않고 prune 명령을 사용합니다.

$ docker system prune

Docker에서 특정 로컬 이미지 삭제

또한 로컬 시스템에서 특정 이미지를 제거하고 다른 모든 파일은 그대로 두고 싶을 수도 있습니다.

이 경우 삭제하려는 특정 이미지의 이미지 ID가 필요합니다. Docker 데스크톱 애플리케이션의 이미지 페이지를 통해 액세스할 수 있습니다.

Docker Desktop을 사용하여 이미지 ID에 액세스

아래 명령을 실행하여 터미널 또는 Docker CLI를 사용하여 이미지 ID에 액세스할 수도 있습니다.

isaactonyloi@DESKTOP-HV44HT6:~$ docker images -a
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c316d5a335a5   3 weeks ago   142MB

이제 이미지 ID를 얻었으므로 아래와 같이 docker rmi 명령을 이미지 ID에 추가하여 특정 이미지를 제거할 수 있습니다.

$ docker rmi c316d5a335a5

출력:

Untagged: nginx:latest
Untagged: nginx@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Deleted: sha256:c316d5a335a5cf324b0dc83b3da82d7608724769f6454f6d9a621f3ec2534a5a
Deleted: sha256:67e568696593c33b4a15c9d81dc6f67499b8d973b88eb49b53d47bf4dbf4d187
Deleted: sha256:0f8d4e3d979c540644f248b4206cf540978166b095223bdc950628dca2e8f3f1
Deleted: sha256:5d75bfe8a7422476a495b27c8a1598d1206137631d350b8bdee13bc88f365282
Deleted: sha256:8284a9e28c625b2826efdd6160ea1ff7f710881a4a2afe1ef58a5eb51d3f919e
Deleted: sha256:89a1db9e1079b7574c1a707bc8c1fe04ff723bc71d4bca8bc48653e9a32186d2
Deleted: sha256:7d0ebbe3f5d26c1b5ec4d5dbb6fe3205d7061f9735080b0162d550530328abd6

Docker에서 필터를 사용하여 태그가 지정되지 않은 로컬 이미지 삭제

또한 필터와 와일드카드를 사용하여 매달린 이미지, 즉 컨테이너와 연결되지 않은 이미지를 식별할 수 있습니다. 필터 태그 -f를 사용하여 dangling=true 조건을 충족하는 사진을 찾을 수 있습니다.

아래 명령은 컨테이너와 연결되지 않은 모든 이미지를 나열해야 합니다. 그러나 시스템에 태그가 지정되지 않은 이미지가 없는 경우 명령은 헤더만 반환합니다.

$ docker images -a -f dangling=true
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c316d5a335a5   3 weeks ago   142MB

Docker에서 모든 로컬 이미지 삭제

-q 태그를 사용하면 -a 태그와 함께 사용할 때 로컬 시스템의 모든 이미지 ID를 검색하고 나열할 수 있습니다.

$ docker images -a -q
54c9d81cbb44
c316d5a335a5

이 명령을 사용하여 docker rmi 아래에 모든 이미지를 나열하여 시스템에서 모든 이미지를 제거할 수 있습니다. 다음은 해당 명령을 중첩하여 모든 이미지를 제거하는 방법입니다.

$ docker rmi $(docker images -a -q)

출력:

Untagged: ubuntu:latest
Untagged: ubuntu@sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db83444636c300170cfd211e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f688797f2f1e3af224c29593310578d2
작가: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

관련 문장 - Docker Image