도커 이미지를 모두 삭제하는 방법은 무엇입니까?

도커 이미지를 모두 삭제하는 방법은 무엇입니까?

때로는 docker의 모든 내용을 지우고 처음부터 시작하고 싶을 때가 있습니다. 모든 Docker 컨테이너와 이미지를 삭제하는 체계적인 방법이 있나요?

컨테이너

$ docker ps -a | head
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS                     PORTS               NAMES
7b055e9e5f1f        fedora:latest        /bin/sh                6 days ago          Exited (0) 6 days ago                          ecstatic_colden        
40da968258eb        fedora:latest        /bin/sh                6 days ago          Exited (127) 6 days ago                        naughty_thompson       
5be4581afad6        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          kickass_wright         
4d6c33d4be6d        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          furious_fermat         
db7a29bdbc2d        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          mad_hawking            
e6b7365690ce        fedora:latest        /bin/bash              6 days ago          Exited (0) 6 days ago                          trusting_ardinghelli   
15655c21fcd3        8018e08e6a58         /bin/sh -c 'apt-get    3 weeks ago         Exited (100) 3 weeks ago                       drunk_bardeen          
607547aabbca        f02ed0c206d5         /bin/sh -c 'apt-get    3 weeks ago         Exited (100) 3 weeks ago                       cocky_franklin         
f031f28bd29a        f02ed0c206d5         /bin/sh -c 'apt-get    3 weeks ago         Exited (100) 3 weeks ago                       stoic_mcclintock      

그림

$ docker images -a | head
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker              master              266a5746d179        2 weeks ago         1.528 GB
<none>              <none>              c1f6a4b1345c        3 weeks ago         1.526 GB
<none>              <none>              6558c36ecb3f        3 weeks ago         1.526 GB
<none>              <none>              b1b7c7a6b6a7        3 weeks ago         1.24 GB
<none>              <none>              0bf9d6bf97e9        3 weeks ago         1.182 GB
<none>              <none>              48c444f1d2e7        3 weeks ago         1.182 GB
<none>              <none>              5c5c172a0038        3 weeks ago         1.182 GB
<none>              <none>              de5e09bb86c1        3 weeks ago         1.182 GB
<none>              <none>              785aaf265f18        3 weeks ago         1.182 GB

답변1

가장 쉬운 방법은 다음 3단계를 따르는 것입니다.

  1. 모든 컨테이너 중지
  2. 모든 컨테이너 제거
  3. 모든 이미지 삭제

이를 달성하려면 docker ps및 명령 기능을 사용하여 해당 위치를 전달하거나 docker imagesID 목록을 반환하도록 전환할 수 있습니다. 이렇게 하면 일반적으로 이 두 명령에서 반환되는 모든 내용이 제거되고 다음과 같은 멋진 목록이 제공됩니다.-q--quiet

기본 출력
$ docker ps -a
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS                     PORTS               NAMES
7b055e9e5f1f        fedora:latest        /bin/sh                6 days ago          Exited (0) 6 days ago                          ecstatic_colden        
40da968258eb        fedora:latest        /bin/sh                6 days ago          Exited (127) 6 days ago                        naughty_thompson      
자동 출력
$ docker ps -aq
7b055e9e5f1f
40da968258eb
5be4581afad6
4d6c33d4be6d

노트:둘 다 또는 docker images스위치를 docker ps사용하여 모든 ID를 표시합니다.-a--all

이 출력을 활용하여 다음과 같이 다른 Docker 명령의 출력을 활용하는 Docker 명령을 빌드할 수 있습니다.

$ docker rm $(docker ps -qa)

집을 청소하다

따라서 모든 항목을 삭제하는 작업을 완료하려면 다음 명령을 사용할 수 있습니다.

$ docker stop $(docker ps -qa)
$ docker rm $(docker ps -qa)
$ docker rmi $(docker images -qa)

관련 정보