모든 Docker 로컬 Docker 이미지를 삭제하는 방법


265

나는 최근에 Docker를 사용하기 시작 했지만 실험 docker-compose down대신 ctrl-c또는 docker-compose stop실험을 없애야 한다는 것을 깨달았습니다 . 이제 로컬에 불필요한 많은 도커 이미지가 있습니다.

모든 로컬 도커 이미지 및 컨테이너를 삭제하기 위해 실행할 수있는 플래그가 있습니까?

같은 뭔가 docker rmi --all --force--all 플래그가 존재하지 않습니다하지만 난 비슷한 생각 뭔가를 찾고 있어요.



2
docker images purge-> 모든 도커 이미지를 제거합니다
muthukumar helius

xargs 사용 :docker image ls -q | xargs -I {} docker image rm -f {}
arkadyt

@muthukumarhelius 나는 당신이 의미하는 것 같아 docker image prune(이미지는 단수이며 퍼지 대신 자두).
Andrés Mejía

답변:


532

볼륨 사용을 포함한 모든 컨테이너를 삭제하려면

docker rm -vf $(docker ps -a -q)

모든 이미지를 삭제하려면

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

해당 컨테이너가 작성된 모든 이미지를 제거하기 전에 모든 컨테이너를 제거해야합니다.

Windows (Powershell)에서 작업중인 경우

$images = docker images -a -q
foreach ($image in $images) { docker image rm $image -f }

7
unknown shorthand flag: 'a' in -a실행시docker rmi -f $(docker images -a -q)
Ashutosh Chamoli

25
@Ashutosh Chamoli : CMD에서 작동하지 않으며 PowerShell에서 작동합니다.
Jack

4
파워 쉘에 대한 한 줄 변종 :docker images -a -q | % { docker image rm $_ -f }
CodeStix

4
나는 여기에 100 번 왔습니다. 이 답변을 작성해 주셔서 감사합니다!
Ajay Maity

「docker rmi -f $ (docker images -a -q)」는 진짜 나쁜 것입니다
Sinux

176

이것을 사용하여 모든 것을 삭제 하십시오 .

docker system prune -a --volumes

사용하지 않는 컨테이너, 볼륨, 네트워크 및 이미지를 모두 제거하십시오.

WARNING! This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all volumes not used by at least one container
    - all images without at least one container associated to them
    - all build cache

https://docs.docker.com/engine/reference/commandline/system_prune/#extended-description


1
그러나 실제로 모든 디스크 공간을 회수하지는 않습니다.
lucian303

@ lucian303이 방법은 디스크 공간을 회수합니다. 아마도 당신은 특정 문제에 직면하고 있습니다.
Robert

난 단지 내가이 작업을 수행 할 때 원하는 결과를 얻을 수가 '@techtabu 단계의 답
sir_dancealot

31

간단하게 모든 것을 지우려면 :

$ docker system prune --all

모든 것이 의미합니다 :

  • 모든 정지 된 용기
  • 하나 이상의 컨테이너에서 사용하지 않는 모든 네트워크
  • 컨테이너가 하나도없는 모든 이미지
  • 모든 빌드 캐시

25

docker image prune -a

매달린 이미지뿐만 아니라 사용되지 않은 모든 이미지를 제거하십시오. -f강제로 옵션을 추가하십시오 .

로컬 도커 버전 : 17.09.0-ce, Git 커밋 : afdb6d4, OS / 아치 : darwin / amd64

$ docker image prune -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker image prune [OPTIONS]

Remove unused images

Options:
  -a, --all             Remove all unused images, not just dangling ones
      --filter filter   Provide filter values (e.g. 'until=<timestamp>')
  -f, --force           Do not prompt for confirmation
      --help            Print usage

7

쉽고 편리한 명령

모든 이미지를 삭제하려면

docker rmi $(docker images -a)

종료 상태에있는 컨테이너를 삭제하려면

docker rm $(docker ps -a -f status=exited -q)

생성 된 상태의 컨테이너를 삭제하려면

docker rm $(docker ps -a -f status=created -q)

참고 : 모든 용기를 제거한 다음 이미지를 제거하십시오.


모든 이미지를 삭제하려면 "docker rmi $ (docker images -a -q)"여야합니다. -q는 이미지 ID 만 반환합니다.
Jimmy MG Lim

즉, 해당 이미지가 삭제되었음을 의미합니다. 다시 한 번 다시 확인
Deep Nirmal

3

모든 이미지를 삭제하려면

docker rmi -f $(docker images -a | awk {'print $3'})

설명:

도커 이미지 -a | awk { 'print $ 3'}

이 명령은 모든 이미지 ID를 반환 한 다음 ID를 사용하여 이미지를 삭제하는 데 사용됩니다.


3

docker를 호출하지 않고 삭제 :

rm -rf /var/lib/docker

도커를 정상적으로 실행할 수 있으면 권장되지 않지만 어떤 이유로 든 원하지 않거나 원하지 않는 경우에는 작동합니다.


2

다음과 같이 시도해보십시오.

docker system prune

제 경우에는 여전히 사용중인 볼륨이 제거됩니다. 그것이 무엇인지 모른다면 이것을 사용하지 마십시오
Zach Smith

2

모든 이미지를 삭제하려면 :

docker rmi $(docker images -a -q)

여기서 -a는 모두이고 -q는 이미지 ID 만 반환합니다.

사용하지 않은 이미지 및 컨테이너를 제거하려면

docker system prune

docker swarm을 사용하는 것처럼 로컬 시스템이 (관리자 / 작업자) 원격 swarm에 참여하는 경우 로컬이 배포 된 리포지토리가됩니다. 이를 실행하면 배치 된 이미지가 제거됩니다.


2
docker rmi $(docker images -q) --force

2
게시물에 답변을 남길 때 설명을 추가하여 나중에 찾는 사람이 이해할 수 있도록해야합니다.
Morphyish

1

techtabu의 허용되는 답변에 추가, windows에서 docker를 사용하는 경우 다음 명령을 사용할 수 있습니다

for /F "delims=" %A in ('docker ps -a -q') do docker rm %A

여기서 명령 docker ps -a -q은 모든 이미지를 나열하고이 목록은docker rm 하나씩

이 유형의 명령 형식이 Windows cmd에서 작동하는 방법에 대한 자세한 내용 은 이것을 참조하십시오 .


1

다른 방법으로 xargs

docker image ls -q | xargs -I {} docker image rm -f {}

0

모든 Docker 로컬 Docker 이미지를 삭제하려면 2 단계를 따르십시오 ::

1 단계 : 도커 이미지 (ID가있는 모든 도커 이미지 나열)

     example :
     REPOSITORY    TAG    IMAGE ID            CREATED             SIZE
     pradip564/my  latest 31e522c6cfe4        3 months ago        915MB

2 단계 : 도커 이미지 rm 31e522c6cfe4 (이미지 ID)

      OUTPUT : image deleted
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.