다음 이미지가 있습니다:
alex@alexvps:~$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 70c0e19168cf 5 days ago 1.069 GB
<none> <none> c2ce80b62174 8 days ago 399.2 MB
<none> <none> 60afe4036d97 8 days ago 325.1 MB
그 중 하나를 제거하려고 하면 다음과 같은 메시지가 표시됩니다:
alex@alexvps:~$ sudo docker rmi 60afe4036d97
Error: Conflict, 60afe4036d97 wasn't deleted
2014/01/28 00:54:00 Error: failed to remove one or more images
어떻게 제거할 수 있나요? 왜 이런 충돌이 발생하나요?
, 주어진 명령을 사용하여 이미지를 위해 모두 삭제
docker rmi $(docker images -q)
, 삭제하시겠습니까 컨테이너입니다 위해 주어진 명령을 사용하여
docker rm $(docker ps -a -q)
이 솔루션은 제공한 [Techoverflow.net] [1].
[1]: q = /blog/2013/10/22/docker-remove-all-images-and-containers/ https://techoverflow.net/2013/10/22/docker-remove-all-images-and-containers/?
가능한 이유: 이 이미지가 현재 실행 중인 컨테이너에서 사용되고 있기 때문일 수 있습니다. 이 경우 실행 중인 컨테이너를 나열하고 관련 컨테이너를 중지한 다음 이미지를 제거할 수 있습니다:
docker ps
docker stop <containerid>
docker rm <containerid>
docker rmi <imageid>
도커 ps로 컨테이너를 찾을 수 없는 경우, 이를 사용하여 이미 종료된 모든 컨테이너를 나열하고 제거할 수 있습니다.
docker ps -a | grep 60afe4036d97
docker rm <containerid>
참고: 볼륨 전용
컨테이너를 사용하는 경우 종료된 모든 컨테이너를 한꺼번에 삭제하는 것에 주의하세요. 이들은 '종료' 상태로 유지되지만 유용한 데이터를 포함합니다**.
그 이유는 오류: 경우에도 여전히 컨테이너입니다 해당 이미지의 태그번호 포함되지 않았습니다, 그 이미지를 만들 수 있는 상태 '에서' 종료되었습니다. 그래서, 삭제할 수 있도록 필요한 모든 컨테이너입니다 중지되었는지 만들어지는 그 이미지를. 모두 제거한 다음 명령을 실행하지 않는 컨테이너입니다 에서 수 있습니다.
docker rm `docker ps -aq --no-trunc --filter "status=exited"`
이제 이 모든 허상 ',' none> 절감뿐만 비사양 중간 <, 이미지:
docker rmi `docker images --filter 'dangling=true' -q --no-trunc`
>. 참고: 실행 중인 모든 컨테이너입니다 중됩니다 수: >. >. ps - q '' 부두 노동자 부두노동자 정지점을
현재 실행 중인 컨테이너인 할 수 있도록 이미지를 사용하는 첫 중지하고 분리하십시오 컨테이너입니다 (s).
docker stop <container-name>
docker rm <container-id>
그럼 삭제에서 수도 이미지:
docker rmi <image-id>
난 이미 갖고 있는 경우 더 이상 낯선 컨테이너입니다 still alive ('부두 노동자 ps - a' 반환되었습니다 아무것도아니야) 이지만, 이미지 관리 및 그 이미지 상관 관계 couldn& # 39 내가 삭제할 수 없다.
이러한 문제를 해결하기 위해 특별한 경우에는 이미지 제거 대체하십시오 인력용 수 있습니다.
docker rmi -f <image-id>
이후 1.13.0 부두노동자 ver. (1월 2017년), s # 39 there& 정리 '시스템' 명령:
$ docker system prune --help
Usage: docker system prune [OPTIONS]
Remove unused data
Options:
-a, --all Remove all unused images not just dangling ones
-f, --force Do not prompt for confirmation
--help Print usage
또한 Sunny& # 39 의 대답:
docker images -q | %{docker rmi -f $_}
docker ps -a -q | %{docker rm -f $_}
먼저 해당 이미지에 생성된 불필요한 컨테이너를 모두 중지/삭제해야 합니다.
https://stackoverflow.com/questions/17236796/how-to-remove-old-docker-io-containers 참조.
그런 다음 @marcell 솔루션을 사용하세요.
docker ps -q -a | xargs docker rm
docker rmi -f $(docker images -f dangling=true -q)
단순히 '말' 힘 함장님이요 아드 수 있습니다. 다음과 같습니다.
sudo docker rmi <docker_image_id> --force
sudo docker stop $(docker ps | grep <your_container_name> | awk '{print $1}')
sudo docker rm $(docker ps | grep <your_container_name> | awk '{print $1}')
sudo docker rmi $(docker images | grep <your_image_name> | awk '{print $3}') --force
이곳 '부두 노동자 ps' $1 은 첫 번째 열은, 즉 부두노동자 컨테이너입니다 ID.
부두 노동자 '와' 는 이미지를 $3 열, 즉 제 3 부두 노동자 이미지 ID.
일부 부두 노동자 이미지를 삭제합니다 다음 명령을 실행해야 합니다.
$ docker rmi <docker_image_id>
그래서, 부두 노동자 모두 삭제할 수 있는 이미지가 다음 명령을 실행합니다.
$ docker rmi $(docker images -q)
이제 스케쳐내 삭제하시겠습니까 부두노동자 이미지 (사용 중인 이미지 등), 예를 들어 '-f' 플래깅 추가할 수 있습니다.
$ docker rmi -f $(docker images -q)
사용
docker image prune -all
docker image prune -a
허상 모두 분리하십시오 이미지. 지정되지 않은 경우, 또 어떤 이미지를 '-a' 모두 분리하십시오 참조됨 컨테이너입니다.
아래에 언급된 바와 같이 Docker& # 39 의 문서 정리.
스케쳐내 주기적으로 클린업합니다 컨테이너입니다 이미지를 자동으로 제거 및 볼륨을 aren& # 39 이 / t 사용하고, 실행 중인 컨테이너입니다 '해빙' 이미지 / 부두 노동자 정리 부두노동자 다운로드할 수 있습니다.
도망쳐야해:
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 분마다 실행하십시오 (또는 하지만 설정한 기절해있는 사용하여 해당 DELAY_TIME = 1800년 옵션인지 컨테이너입니다 및 이미지 및 클린업합니다 종료되었습니다.
자세한 내용은: https://github.com/meltwater/docker-cleanup/blob/master/README.md