도커 이미지는 어떻게 제거합니까?
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를 사용하여 도커에서 이미지를 제거하는 방법
모든 이미지 목록 가져오기
docker images
삭제할 이미지의 이미지 ID를 식별합니다. 예:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE kweku360/java latest 08d3a9b8e166 2 weeks ago 5.733 GB`
마지막으로 이미지 ID를 사용하여 이미지를 제거합니다(처음 세 자리만 필요).
docker rmi 08d
이미지:
- 이미지 나열
도커 이미지
- 하나의 이미지 제거
도커 rmi image_name
- 하나의 이미지 강제 제거
docker rmi -f image_name
컨테이너:
- 모든 컨테이너 나열
도커 ps -a
- 용기 하나를 제거
도커럼 컨테이너_id
- 하나의 용기 강제 제거
도커 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
컨테이너 제거
특정 용기를 제거하려면 다음과 같이 하십시오.
docker rm CONTAINER_ID CONTAINER_ID
단일 이미지용
docker rm 70c0e19168cf
여러 이미지의 경우
docker rm 70c0e19168cf c2ce80b62174
종료된 컨테이너 제거
docker ps -a -f status=exited
모든 용기를 제거합니다.
docker ps -q -a | xargs docker rm
이미지 제거
docker rmi IMAGE_ID
특정 이미지 제거
단일 이미지용
docker rmi ubuntu
다중 이미지용
docker rmi ubuntu alpine
매달린 이미지 제거
Dangling 영상은 Docker 영상이 여러 영상으로 구성되어 있으므로 태그가 지정된 영상과 관련이 없는 레이어입니다.docker rmi -f $(docker images -f dangling=true -q)
모든 도커 이미지 제거
docker rmi -f $(docker images -a -q)
볼륨 제거 중
볼륨을하려면 를 합니다.docker volume ls
특정 볼륨 제거
docker volume rm VOLUME_NAME
매달린 볼륨 제거
docker volume rm $(docker volume ls -f dangling=true -q)
컨테이너 및 해당 볼륨 제거
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
재구성된 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
'programing' 카테고리의 다른 글
Maria에서 기본 저장 프로시저를 만들 수 없습니다.DB (0) | 2023.08.25 |
---|---|
SQL Server 2008에서 스칼라 함수를 호출하는 방법 (0) | 2023.08.25 |
도커에 nvm을 설치하는 방법은 무엇입니까? (0) | 2023.08.25 |
Node.js를 사용하여 텍스트 파일을 읽으시겠습니까? (0) | 2023.08.25 |
텍스트 영역 HTML 태그의 한 줄씩 읽는 방법 (0) | 2023.08.25 |