docker rmi는 이미지를 제거 할 수 없습니다.
이미지가 많습니다. 내가 그들을 제거하려고 할 때docker rmi
$ sudo docker rmi acd33a9490dc
Error response from daemon: No such id: 75ce1f6710bab109a7d7cbee056fa8a0c7fa913e81c88e2a55121149dda80ee9
2014/07/14 10:13:24 Error: failed to remove one or more images
75ce1 ... 해시는 내가 제거하려는 도커 이미지에 관계없이 동일합니다.
현재 아래는 현재 도커 버전을 제공합니다. 그러나 이러한 이미지 중 일부는 이전 버전 (0.6 정도) 이후로 사용되었습니다.
$ sudo docker version
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a
터미널에 넣으십시오.
docker ps -a
CONTAINER ID | IMAGE ......................NAMES
d25c0cd9725a |acd33a9490dc ................focused_einstein
IMAGE 열에서 IMAGEID를 볼 수 있습니다. 컨테이너를 제거하고 컨테이너 ID를 가져옵니다.
docker rm d25c0cd9725a
이제 이미지를 제거 할 수 있습니다.
docker rmi acd33a9490dc
여러 이미지를 제거해야하는 경우 다음을 사용하여 모든 컨테이너를 삭제할 수 있습니다.
sudo docker ps -a -q | xargs -n 1 -I {} sudo docker rm {}
이제 모든 이미지를 제거 할 수 있습니다.
나는 이것이 버그가 아니라 예상되는 동작이라고 생각합니다. 삭제되지 않은 컨테이너가 주변에 있기 때문입니다. 이러한 컨테이너는 이미지의 인스턴스이므로 해당 이미지를 삭제할 수 없습니다.
1 단계-사용하지 않는 컨테이너 인스턴스 제거
두 jripoll의 대답 과 안드라스 Hatvani의 대답은 목록과 이미지에 바인딩 된 컨테이너를 제거하는 방법을 보여줍니다.
후자는 모든 컨테이너 인스턴스를 삭제합니다 !! 따라서 새 이미지로 커밋해야하는 이미지 가있는 경우 먼저 수행해야합니다 .
2 단계-불필요한 이미지 제거
컨테이너가 삭제 된 후에는 해당 컨테이너의 기반이 된 모든 이미지를 제거 할 수 있습니다.
신속하게 태그가 지정되지 않은 용기 제거하려면 (로 표시 것들을 <none> <none>
실행할 때 sudo docker images
) 다음 명령을 실행 할 수 있습니다 :
sudo docker images -q --filter "dangling=true" | sudo xargs docker rmi
/usr/local/bin/docker-purge-dangling
명령을 기억할 필요없이 실행할 수 있도록 저장했습니다 .
배출 된 용기를 제거하지 않으면이 문제에 직면 할 수도 있습니다. 이렇게해서 나간 컨테이너를 제거해야합니다.
sudo docker ps -a | grep Exit | awk '{print $1}' | sudo xargs docker rm
그런 다음
sudo docker rmi <imageID>
먼저 이미지가 들어있는 컨테이너를 찾아야합니다.
이미지가있는 단일 컨테이너를 제거하려면
docker ps -a
그런 출력을 얻을 것입니다
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
g7aea2132441 2285ff53ab18 "/bin/bash" 2 days ago tombrider
그런 다음 사용하여 용기를 제거하십시오.
docker rm g7aea2132441
모든 컨테이너와 이미지를 제거하려면
모든 용기를 제거하십시오
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q)
지금 매달린 이미지 제거
docker images -q --filter "dangling=true" | sudo xargs docker rmi
여러분 모두에게 진심으로 감사드립니다. 모든 접근 방식을 시도했지만 다음 이미지를 삭제할 수 없습니다.
[myself@testvm]$ docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest c54a2cc56cbb 6 months ago 1.848 kB
대신 여기에서 제거해야했습니다.
sudo rm /var/lib/docker/image/devicemapper/imagedb/content/sha256/c54a2cc56cbb2f04003c1cd4507e118af7c0d340fe7e2720f70976c4b75237dc
이제 사라졌습니다.
내가 만든이 정리 스크립트를 실행하면 어떻게 든 마술 적으로 해결됩니다.
# remove orphan containers
docker ps -a | grep -v ":" | awk '{print $1}' | xargs docker rm -f
# remove orphan images
docker images | grep "<none>" | awk '{print $3}' | xargs docker rmi -f
그래서 ... 이의 일부 경우는 이미지를 참조하는 더 이상 실행되지 않는 컨테이너가 있기 때문인 것 같습니다. 컨테이너를 제거하면 이미지를 제거 할 수 있습니다.
But there is definitely a bug where docker gets itself into a state where no matter what you do, it can't remove any image. This has been fixed in docker 1.4.0: https://github.com/docker/docker/commit/ac40e7c
this will remove all your container and then you can remove the images
sudo docker ps -a | awk '{print $1}' | grep -v CONTAINER | xargs sudo docker rm {}\;
참고URL : https://stackoverflow.com/questions/24733160/docker-rmi-cannot-remove-images-with-no-such-id
'Programing' 카테고리의 다른 글
/ usr / local / bin이 Mac의 $ PATH에 있는지 확인 (0) | 2020.12.04 |
---|---|
규칙을 사용하여 자동으로 구체화 된 뷰를 새로 고치거나 알림 (0) | 2020.12.04 |
부트 스트랩 4 img-circle 클래스가 작동하지 않음 (0) | 2020.12.04 |
Notepad ++에서 여러 줄 "파일에서 바꾸기…" (0) | 2020.12.04 |
Eclipse에서 JBoss 디버깅 (0) | 2020.12.04 |