[docker] 종속 자식 이미지가있는 도커 이미지를 삭제할 수 없습니다
노력하고 있습니다
docker rmi c565603bc87f
오류:
데몬의 오류 응답 : 충돌 : c565603bc87f를 삭제할 수 없습니다 (강제 할 수 없음)-이미지에 종속 자식 이미지가 있습니다
따라서 -f 플래그를 사용해도 이미지를 삭제할 수 없습니다. 이미지를 삭제하고 모든 하위 항목을 삭제하는 방법은 무엇입니까?
리눅스와 도커 버전 :
uname -a Linux goracio-pc 4.4.0-24-generic # 43-Ubuntu SMP 6 월 8 일 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
docker version 클라이언트 : 버전 : 1.11.2 API 버전 : 1.23 Go 버전 : go1.5.4 Git commit : b9f10c9 Built : Wed Jun 1 22:00:43 2016 OS / Arch : linux / amd64
서버 : 버전 : 1.11.2 API 버전 : 1.23 Go 버전 : go1.5.4 Git 커밋 : b9f10c9 빌드 : Wed Jun 1 22:00:43 2016 OS / 아치 : linux / amd64
답변
이미지를 제거하기 전에 불필요한 이미지를 제거해야합니다.
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
그 후 다음을 실행하십시오.
docker rmi c565603bc87f
답변
어떤 경우에는 (내 경우와 같이) 존재하지 않는 여러 태그가있는 이미지 ID를 지정하여 이미지 를 삭제하려고 할 수 있습니다 . 일부는 다른 이미지에서 사용될 수 있습니다. 이 경우 이미지를 제거하지 않을 수 있습니다 .
여기에 설명 된대로 중복 태그가있는 경우 제거하려는 중복 태그 대신 docker rmi <image_id>
사용 docker rmi <repo:tag>
하십시오.
답변
이전의 모든 대답은 정확하지만 여기에 모든 이미지를 강제로 삭제 하는 솔루션이 있습니다 (이 명령을 사용하면 모든 이미지가 삭제됩니다 )
docker rmi $(docker images -q) -f
답변
해당 이미지 이후에 생성 된 모든 이미지의 이미지 ID 및 부모 ID를 다음과 같이 찾으십시오.
docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=<image_id> -q)
그런 다음 명령을 호출하십시오.
docker rmi {sub_image_id}
“sub_image_id”는 종속 이미지의 ID입니다.
답변
나에게 일한 것은 이미지 ID 대신 REPOSITORY : TAG 조합을 사용하는 것이 었습니다.
docker rmi <IMAGE ID>
이 이미지와 관련된 컨테이너가없는 명령 으로 도커 이미지를 삭제하려고 할 때 메시지가 표시되었습니다.
$ docker rmi 3f66bec2c6bf
Error response from daemon: conflict: unable to delete 3f66bec2c6bf (cannot be forced) - image has dependent child images
명령을 사용하면 성공적으로 삭제할 수 있습니다 docker rmi RPOSITORY:TAG
$ docker rmi ubuntu:18.04v1
Untagged: ubuntu:18.04v1
답변
이 명령은 모든 이미지를 제거합니다 (주의와 함께 사용)
–force를 사용해 보셨습니까?
sudo docker rmi $(sudo docker images -aq) --force
이 위의 코드는 심지어 같은 문제가있는 매력처럼 실행됩니다.