source

로컬 도커 이미지를 모두 삭제하려면 어떻게 해야 합니까?

gigabyte 2022. 11. 8. 21:06
반응형

로컬 도커 이미지를 모두 삭제하려면 어떻게 해야 합니까?

했는데, 도커를 해야 한다는 못했습니다.docker-compose downctrl-c ★★★★★★★★★★★★★★★★★」docker-compose stop가 로컬에 .불필요한 도커 이미지가 로컬에 많이 있습니다.

로컬 도커 이미지와 컨테이너를 모두 삭제할 수 있는 플래그가 있습니까?

docker rmi --all --force가 있는 같은 .------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

유닉스

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

docker rm -vf $(docker ps -aq)

모든 이미지를 삭제하려면

docker rmi -f $(docker images -aq)

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

Windows - Powershell

docker images -a -q | % { docker image rm $_ -f }

Windows - 명령줄

for /F %i in ('docker images -a -q') do docker rmi -f %i

다음을 사용하여 모든 항목을 삭제합니다.

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/ #description-description

여기 내가 사용한 짧고 빠른 솔루션이 있다.

Docker는 이미지, 컨테이너, 볼륨 및 네트워크 등 (컨테이너와 관련되지 않은) 모든 리소스를 정리하는 단일 명령을 제공합니다.

docker system prune

정지된 용기와 사용하지 않는 모든 이미지(걸림 이미지뿐 아니라)를 추가로 제거하려면 -a 플래그를 명령에 추가합니다.

docker system prune -a


자세한 내용은 링크를 참조하십시오.

docker image prune -a

매달린 이미지뿐만 아니라 사용하지 않는 이미지를 모두 제거합니다.-f옵션을 선택합니다.

로컬 도커 버전: 17.09.0-ce, Git 커밋: afdb6d4, OS/Arch: 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

쉽고 편리한 명령어

모든 이미지를 삭제하려면

docker rmi $(docker images -a)

종료된 상태의 컨테이너를 삭제하려면

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

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

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

메모: 모든 용기를 제거한 후 이미지를 제거합니다.

도커를 호출하지 않고 삭제할 필요가 있는 경우:

rm -rf /var/lib/docker

그러면 파일 시스템에서 모든 도커 이미지/컨테이너/볼륨이 직접 제거됩니다.

Linux Ubuntu 사용자의 경우 아래가 도움이 되었습니다.경고 - 그런데 모두 제거됩니다.

컨테이너와 컨테이너에 연결된 볼륨을 제거하려면 다음을 사용하십시오.

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

이미지 삭제에 대해서는, 이하를 참조해 주세요.

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

윈도우즈에서 이미지를 제거한 후 디스크 공간이 회수되지 않는 버그가 있습니다.도커/Windows 재부팅이 기능하지 않았다.

Docker Desktop을 사용하고 있는 경우는, 이하의 조작이 가능했습니다.[ Troubleshoot ]-> [ Clean / Purge ]으로 이동합니다.이렇게 하면 디스크 공간을 원하는 것보다 더 절약할 수 있습니다.

여기에 이미지 설명 입력

주의: 이렇게 하면 모든 것이 삭제되므로, 이 작업을 수행하기 전에 다시 한 번 더 생각해 보십시오.

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

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

설명:

도커 이미지 - a | awk {'프린트 $3'}

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

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

docker rmi $(docker images -a -q)

여기서 -a가 전부이고 -q는 이미지 ID만 반환합니다.

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

docker system prune

도커 스톰을 사용하고 로컬 머신이 (매니저/워커로서) 리모트 스톰에 참가하고 있는 경우, 로컬이 전개된 리포가 되는 것에 주의해 주세요.이를 실행하면 전개된 이미지가 삭제됩니다.

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

다음과 같이 시도할 수 있습니다.

docker system prune
  1. sudo 도커 이미지 // ID가 있는 이미지 목록
  2. sudo docker rm image <image_id>/docker rm image <image_id>

또 다른 방법xargs(유닉스만 해당)

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

도커 이미지 rm -f $(도커 이미지 ls -a -q)

techtabu가 승인한 답변에 추가, Windows에서 도커를 사용하는 경우 다음 명령을 사용할 수 있습니다.

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

여기서 명령어는docker ps -a -q모든 이미지를 나열하고 이 목록은 에 전달됩니다.docker rm한 사람 한 사람씩

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

모든 도커 로컬 도커 이미지를 삭제하려면 다음 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

다음은 모든 것을 삭제하기 위해 사용한 명령어입니다.

에코시스템: "예:" &s;c;c:c:c:c;c) 컨테이너(예:c) 컨테이너(c) -어: nbsp;s &c;c도킹 볼륨 -q)그 후 도커 볼륨 rm $(도커 볼륨 ls -q), fi; 에코 "네트워크 삭제:" & if [ -n " $ ( docker network ls | awk " { print $ 1 " " $ 2 } | grep - v ' ID | bridge | host | none ]| awk ' { print $1 | ls awrint network : | ls awrint } | ls awrintengthengthrintengt; 도커 네트워크 { ls |

다른 답변은 "자동 생성된" 이름의 컨테이너만 삭제하는 쉬운 방법을 제공하지 않는 것 같습니다.이것이 저의 가장 빈번한 의도입니다.그래서 Powershell 스크립트를 썼습니다.

$containers = (docker container list -a).Split("`n") | % { [regex]::split($_, "\s+") | Select -Last 1 }
$containersToRemove = $containers | Where { ([regex]"^[a-z]+_[a-z]+$").IsMatch($_) }

# it's recommended to delete in batches, as too many at once can cause issues
$containersToRemove = $containersToRemove | Select-Object -First 30

foreach ($container in $containersToRemove) {
    # sync/wait-based version (slow)
    # docker container rm $container

    # async/background-process version (fast)
    Start-Process -FilePath docker -ArgumentList "container rm $container" -NoNewWindow
}

" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 。^[a-z]+_[a-z]+$

관심 있는 첫줄만 하십시오.「」( 「」- 「」, 「」, 「-」)를 실행합니다.echo $containersToRemove그리고 실제로 삭제를 수행하기 전에 목록을 확인합니다.

docker rmi -f $(docker images -q)
docker images -f dangling=true
docker image prune

도커 컨테이너 볼륨 확인

docker system df

모든 이미지 및 볼륨 제거

docker prune --all

docker rmi $(docker images -aq)

언급URL : https://stackoverflow.com/questions/44785585/how-can-i-delete-all-local-docker-images

반응형