June 17, 2019

Docker 이미지 삭제 - docker image rm / docker image rmi /모든 이미지 제거

Docker image rm

다운로드 및 작성한 Docker Image를 삭제하기 위해 docker rm 명령어를 사용합니다.

docker image rm <옵션> 이미지 <이미지명..>

dongdonge@dongdonge$ sudo docker image rm --help

Usage:  docker image rm [OPTIONS] IMAGE [IMAGE...]

Remove one or more images

Aliases:
  rm, rmi, remove

Options:
  -f, --force      Force removal of the image
      --no-prune   Do not delete untagged parents

위 옵션을 살펴보면, 여러가지 옵션을 확인해 볼 수 있습니다. 우선 docker image rm에서 "rm" 명령어 대신 "rmi" 또는 "remove"로 대처하여 쓸 수 있습니당.

1. --force : 이미지 강제 제거

2. --no-prune : 태그가 존재하지 않는 부모 이미지를 삭제하지 않는다.




이미지 하나를 제거해보도록 하겠습니다. 제거시 이미지명:태그명 넣어주셔야 합니다. 하지만 태그명이 존재하지않는 경우 해당 이미지를 가진 모든 이미지가 제거됩니다.

dongdonge@dongdonge$ sudo docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              719cd2e3ed04        6 days ago          109MB
ubuntu              16.04               2a697363a870        4 weeks ago         119MB
hello-world         latest              fce289e99eb9        5 months ago        1.84kB




여러개의 이미지를 제거를 하려면 여러 이미지명을 스페이스로 두어 구분하면 된다. 아래 예시를 보자!

dongdonge@dongdonge$ sudo docker image rm nginx ubuntu hello-world

Untagged: ubuntu:16.04
Untagged: ubuntu@sha256:cad5e101ab30bb7f7698b277dd49090f520fe063335643990ce8fbd15ff920ef
Deleted: sha256:2a697363a8709093834e852b26bedb1d85b316c613120720fea9524f0e98e4a2
Deleted: sha256:5bcad8f8b858991e09c1ea59d2b1d8a1fcb424445493825972918b48c5170289
Deleted: sha256:9adaba72eca85f66961ee4fb5c0b646b078377439690fa94827bf35a5f0cfd5e
Deleted: sha256:ccab9ec9909359830f26cd442a80b08ab27a8fd34881495da7a17ac224ceebf1
Deleted: sha256:739482a9723dbee6dbdad6b669090e96d5f57e2aa27c131015cce8969d0d4efa

위 명령은 nginx, ubuntu, hello-world 이미지를 제거한다.




또는 이미지명 대신 IMAGE ID를 입력하여 삭제도 가능하다.

dongdonge@dongdonge$ sudo docker image rm 719cd2e3ed04





Docker image rmi 모든 이미지 제거하기

간혹 여러 이미지를 제거해야할 경우가 존재합니다. 하지만 도커 이미지가 무수히 많다면 하나씩 명령어를 입력하기는 다소 복잡하거나 힘든부분이 존재하므로, 한번에 제거해보도록 하겠습니다.

이 과정에서 한번 제거된 이미지는 복구하기 어려우니 신중하게 하시길 바랍니당.

dongdonge@dongdonge$ sudo docker rmi $(sudo docker images -q)

Untagged: hello-world:latest
Untagged: hello-world@sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e
Deleted: sha256:af0b15c8625bb1938f1d7b17081031f649fd14e6b233688eea3c5483994a66a3

위 명령을 통해 Docker에 설치된 모든 이미지가 제거가 됩니다.