programing

도커 이미지는 어떻게 제거합니까?

bestprogram 2023. 8. 25. 23:51

도커 이미지는 어떻게 제거합니까?

OS X 10.8.4(Mountain Lion)의 Vagrant에서 Docker를 실행하고 있는데 저장된 이미지를 삭제하려고 할 때마다 다음과 같은 오류가 발생합니다.

$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input

『 』에 rmi 올바른 은 도말움, 올른구은입니다.docker rmi IMAGE [IMAGE...]그걸 어떻게 이해해야 할지 모르겠어요

이미지를 삭제하려면 어떻게 해야 합니까?

$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1

 

$docker info
Containers: 1
Images: 3

가 흥롭게도때달을 할 때, 내릴가미때달릴▁interest,▁i▁when도가내게ingly.docker ps컨테이너가 전혀 나타나지 않습니다. 중입니다.docker images 표 4(4)를 표시합니다.base의 (1) 이미및하나(1)node 이미지

ㅠㅠdocker rmi node될 거예요. . . . . . . . . . . . . . . . . . . . . . . . . . .

것은 생된모컨든보를는것은다다같간니단합이음과성테처럼 .docker ps -a.

) 합니다.docker rm $(docker ps -aq)

도커 이미지/용기를 제거하는 방법은 다음과 같습니다.

단일 이미지 제거

docker rmi image_name:version/image-id

모든 이미지 제거

docker rmi $(docker images -qf "dangling=true")

용기를 죽이고 제거합니다.

docker rm $(docker kill $(docker ps -aq))

고참: 교체로 대체합니다.kill와 함께stop 종료를

"my-image"를 제외한 모든 이미지 제거

을 하여 grep을 제외한 항목을 합니다.my-image그리고.ubuntu

docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})

아니면 (어색하지 않고)

docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))

모든 도커 컨테이너 삭제

docker rm $(docker ps -a -q)

모든 도커 이미지 삭제

docker rmi $(docker images -q)

이미지 ID를 사용하여 도커에서 이미지를 제거하는 방법

  1. 모든 이미지 목록 가져오기

    docker images
    
  2. 삭제할 이미지의 이미지 ID를 식별합니다. 예:

    REPOSITORY     TAG     IMAGE ID        CREATED        VIRTUAL SIZE
    kweku360/java  latest  08d3a9b8e166    2 weeks ago         5.733 GB`
    
  3. 마지막으로 이미지 ID를 사용하여 이미지를 제거합니다(처음 세 자리만 필요).

    docker rmi 08d
    

이미지:

  1. 이미지 나열

    도커 이미지

  2. 하나의 이미지 제거

    도커 rmi image_name

  3. 하나의 이미지 강제 제거

    docker rmi -f image_name

컨테이너:

  1. 모든 컨테이너 나열

    도커 ps -a

  2. 용기 하나를 제거

    도커럼 컨테이너_id

  3. 하나의 용기 강제 제거

    도커 rm -f container_id

이전 도커 컨테이너제거하는 방법에서 VonC가 언급한 대로 업데이트합니다.

Docker 1.13(2016년 4분기)에는 다음과 같은 이점이 있습니다.

docker system prune 사용되지 않는 모든 데이터(즉, 컨테이너 중지, 컨테이너 없는 볼륨 및 이미지 순)를 삭제합니다.

PR 26108 및 commit 86de7c0참조하십시오. 이들은 Docker 데몬 데이터가 디스크에서 차지하는 공간을 시각화하고 "불필요한" 초과 공간을 쉽게 정리하는 데 도움이 되는 몇 가지 새로운 명령을 도입하고 있습니다.

docker system prune

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y

컨테이너 제거

  1. 특정 용기를 제거하려면 다음과 같이 하십시오.

    docker rm CONTAINER_ID CONTAINER_ID
    
    • 단일 이미지용

      docker rm  70c0e19168cf
      
    • 여러 이미지의 경우

      docker rm  70c0e19168cf c2ce80b62174
      
  2. 종료된 컨테이너 제거

    docker ps -a -f status=exited
    
  3. 모든 용기를 제거합니다.

    docker ps -q -a | xargs docker rm
    


이미지 제거

docker rmi IMAGE_ID
  1. 특정 이미지 제거

    • 단일 이미지용

      docker rmi ubuntu
      
    • 다중 이미지용

      docker rmi ubuntu alpine
      
  2. 매달린 이미지 제거
    Dangling 영상은 Docker 영상이 여러 영상으로 구성되어 있으므로 태그가 지정된 영상과 관련이 없는 레이어입니다.

    docker rmi -f $(docker images -f dangling=true -q)
    
  3. 모든 도커 이미지 제거

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

볼륨 제거 중

볼륨을하려면 를 합니다.docker volume ls

  1. 특정 볼륨 제거

    docker volume rm VOLUME_NAME
    
  2. 매달린 볼륨 제거

    docker volume rm $(docker volume ls -f dangling=true -q)
    
  3. 컨테이너 및 해당 볼륨 제거

    docker rm -v CONTAINER_NAME
    

docker rm container_name

docker rmi image_name

docker help

rm 하나 이상의 컨테이너 제거

rmi 하나 이상의 이미지 제거

docker rmi  91c95931e552

데몬의 오류 응답: 충돌. 컨테이너 76068d66b290이 사용 중이므로 91c95931e552를 삭제할 수 없습니다. FATA[0000] 오류: 하나 이상의 이미지를 제거하지 못했습니다.

컨테이너 ID를 찾습니다.

# docker ps -a

# docker rm  daf644660736 

우선 제거할 도커 이미지가 첨부된 도커 컨테이너를 중지하고 제거해야 합니다.

그래서 그것을 위해 먼저.

  • docker stop container-id실행 중인 용기를 중지하려면 다음과 같이 하십시오.
  • docker rm container-id컨테이너를 삭제/제거하려면 다음과 같이 하십시오.

그리고나서,

  • docker rmi image-id 삭제하기 /

버전 1.13 이상의 경우:

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

비교:

그자리의 [OPTIONS]차이가 없는 것 같습니다.

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

보낸이: 도커 1.13 소개

재구성된 CLI

Docker 1.13에서는 모든 명령어가 상호 작용하는 논리적 객체 아래에 배치되도록 재구성했습니다.를 들어 를들면입니다.list그리고.start 컨이너명이제는의 명령어입니다.docker container그리고.history는 의하명령다니의 입니다.docker image.

이러한 변경을 통해 도커 CLI 구문을 정리하고 도움말 텍스트를 개선하며 도커를 보다 쉽게 사용할 수 있습니다.이전 명령 구문은 여전히 지원되지만 모든 사용자가 구문을 채택할 것을 권장합니다.

는 가제거몇가명제공다니합령을 하는 몇 합니다.images.

/거시 표시Images:

docker images
docker images -a # All images
docker images --no-trunc # List the full length image IDs

docker images --filter "dangling=true" // Show unstage images
docker rmi $(docker images -f "dangling=true" -q) # Remove on unstages images

docker rmi <REPOSITORY> or <Image ID> # Remove a single image

docker image prune # Interactively remove dangling images
docker image prune -a # Remove all images

or 

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

또한 다음을 사용할 수도 있습니다.filter를 한 변수: 파라미터:

예:

$docker images --filter "before=<hello-world>" // It will all images before hello-world

$docker images --filter "since=<hello-world>" // It will all images since hello-world

따라서 다음과 같은 필터 이미지를 삭제할 수 있습니다.

docker rmi $(docker images --filter "since=<hello-world>")
docker rmi $(docker images --filter "before=<hello-world>")

다음을 사용하여 모든 삭제

1단계: 모든 용기 제거

for i in `sudo docker ps -a | awk '{ print $1 }'`; do sudo docker kill $i ; done

2단계: 먼저 RM을 실행합니다.

for i in `sudo docker ps -a | awk '{ print $1 }'`; do sudo docker rm $i ; done

3단계: 강제로 이미지 삭제

for i in `sudo docker images | awk '{ print $3}'`; do  sudo docker rmi --force $i ; done

하위 종속성으로 인해 삭제할 수 없다는 오류가 발생하는 경우 1단계를 사용합니다.

종료된 컨테이너를 자동/주기적으로 정리하고 실행 중인 컨테이너에서 사용하지 않는 이미지와 볼륨을 제거하려면 이미지를 다운로드할 수 있습니다.meltwater/docker-cleanup.

여러 서버에 하루에도 몇 번씩 구축하기 때문에 운영 환경에서 사용합니다. 모든 서버를 청소하러 가는 것은 바람직하지 않습니다.

그냥 실행:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock:rw  -v /var/lib/docker:/var/lib/docker:rw --restart=unless-stopped meltwater/docker-cleanup:latest

30분마다 실행됩니다(또는 DELETY_를 사용하여 설정한 시간).TIME=vmx 옵션) 및 종료된 용기와 이미지를 정리합니다.

자세한 정보: https://github.com/meltwater/docker-cleanup/blob/master/README.md

다음은 태그가 지정된(이름이 지정된) 이미지와 해당 컨테이너를 제거하는 셸 스크립트입니다.docker-rmi로 저장하고 'docker-rmi-image-name'을 사용하여 실행합니다.

#!/bin/bash

IMAGE=$1

if [ "$IMAGE" == "" ] ; then
  echo "Missing image argument"
  exit 2
fi

docker ps -qa -f "ancestor=$IMAGE" | xargs docker rm
docker rmi $IMAGE

제 경우 문제는 같은 이름의 이미지를 견인한다는 것입니다. 해결책은(는) 동일한 이름의 이미지를 견인한다는 것입니다.

sudo docker rmi <NAME>:<TAG>

ex:

sudo docker rmi php:7.0.4-fpm

도 언급하지 않은 는 무엇입니까?docker-compose저는 그것을 일주일 동안 사용했고, 그것 없이는 살 수 없습니다.당신이 필요한 것은 단지 몇 분의 공부만 하는 yml을 쓰는 것이고, 그러면 당신은 떠날 준비가 됩니다.도커 네이티브 명령과 마찬가지로 이미지, 컨테이너(소위 서비스에 필요)를 부팅하고 로그를 검토할 수 있습니다.시도해 보십시오.

docker-compose up -d
docker-compose down --rmi 'local'

도커 합성을 사용하기 전에는 직접 셸 스크립트를 작성한 다음, 특히 애플리케이션 아키텍처가 변경될 때 필요할 때마다 스크립트를 사용자 지정해야 했습니다.이제 저는 더 이상 이것을 할 필요가 없습니다. 도커 컴포지트 덕분입니다.

저는 다음과 같이 잘 작동했습니다.

> docker images
REPOSITORY   TAG           IMAGE ID          CREATED             SIZE
debian       jessie        86baf4e8cde9      3 weeks ago         123MB
ubuntu       yakkety       7d3f705d307c      3 weeks ago         107MB
alpine       3.5           074d602a59d7      7 weeks ago         3.99MB

그런 다음 다음과 같은 작업을 수행하여 이미지를 제거합니다.

> docker rmi debian:jessie
> docker rmi ubuntu:yakkety
> docker rmi alipine:3.5

이미지 나열:

ahanjura@ubuntu:~$ sudo docker images

저장소 태그 이미지 ID 생성 크기 88282f8eda00 19초 전 308.5 MB 13e5d3d682f4 19시간 전 663 MB busybox2 최신 05fe66bb1144 20시간 전 1.129 MB 우분투 16.0400 fd29cc6c6f1 5일 전 110.5 MB 우분투 14.067759a80c5일 전 6.729 MB 파이썬 2.9 e9 ebusybusybox 최신 6.7329 mbusybxybx3 mbx3 mbx3 mbx3 mbx316.107d3f705d307c 5개월 전 106.7MB

이미지 삭제:

ahanjura@ubuntu:~$ sudo docker rmi 88282f8eda00

삭제됨: sha256:88282f8eda0036f85b5652c44d158308c6f86895ef1345dfa788318e6ba3194 삭제됨: sha256:4f211a991fb392cd794bc9ad8833149c9c9c59958c4017b1e2dc415259 삭제됨:sha8cc177df7df7348f8f8f8f8f8f8f8f8f8f8f8f8f8f

ahanjura@ubuntu:~$ sudo docker rmi 13e5d3d682f4

데몬의 오류 응답: 충돌: 13e5d3d682f4를 삭제할 수 없음(강제해야 함) - 이미지가 중지된 컨테이너 5593e25eb638에서 사용되고 있습니다.

강제 삭제:

ahanjura@ubuntu:~$ sudo docker rmi -f 13e5d3d682f4

삭제됨: sha256:13e5d3d682f4de973780b35a3393c46eb314ef3db45d3ae83baf2dd9d702747e 삭제됨: sha256:3ad9381c41c03768cd8cd855ecca6b0244223f10b0465c4898b2db21378 삭제됨:256d7db7db7db7db7db7db7db7db7ddb7db7d2dddddd

  • 먼저 다음을 사용하여 존재하는 모든 이미지를 나열합니다.

    도커 이미지

단일 이미지 제거용

  • dockerrmi [image-name(또는) image-id] 사용 // 특정 이미지만 제거합니다.

모든 이미지 제거용

  • 도커 rmi -f $(도커 이미지 -a -q) 사용

언급URL : https://stackoverflow.com/questions/17665283/how-does-one-remove-a-docker-image