도커 오류가 도커 컨테이너를 삭제할 수 없습니다. 충돌 : 저장소 참조를 제거 할 수 없습니다
Docker에서 컨테이너를 제거하고 싶지만 삭제할 때 오류가 발생합니다.
컨테이너를 제거하기 전에 다음 단계는 기존 컨테이너 목록을 참조하십시오.
sts@Yudi:~/docker$ sudo docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
78479ffeba5c ubuntu "/bin/bash" 42 hours ago Exited (0) 42 hours ago sharp_wescoff 81 B (virtual 187.7 MB)
0bd2b54678c7 training/webapp "python app.py" 5 days ago Exited (0) 5 days ago backstabbing_ritchie 0 B (virtual 323.7 MB)
0adbc74a3803 training/webapp "python app.py" 5 days ago Exited (143) 5 days ago drunk_feynman 0 B (virtual 323.7 MB)
하나는 목록을 삭제하고 싶습니다. 즉 "training / webapp" 이지만 오류가 발생했습니다.
sts@Yudi:~/docker$ sudo docker rmi training/webapp
Error response from daemon: conflict: unable to remove repository reference "training/webapp" (must force) - container 0bd2b54678c7 is using its referenced image 54bb4e8718e8
Error: failed to remove images: [training/webapp]
컨테이너가 이미지에서 실행 중인지 여부
도와주세요
먼저 컨테이너 이름을 제거하십시오.
$ sudo docker rm backstabbing_ritchie
결과
$ sudo docker rm backstabbing_ritchie
backstabbing_ritchie
삭제할 컨테이너에 나열된 두 번째 부분을 삭제하십시오.
$ sudo docker rm drunk_feynman
drunk_feynman
둘째, 용기를 제거하십시오
$ sudo docker rmi training/webapp
결과
$ sudo docker rmi training/webapp
Untagged: training/webapp:latest
Deleted: 54bb4e8718e8600d78a5d7c62208c2f13c8caf0e4fe73d2bc0e474e93659c0b5
Deleted: f74dd040041eb4c032d3025fe38ea85de8075992bdce6789b694a44b20feb8de
Deleted: 7cbae69141977b99c44dc6957b032ad50c1379124d62b7d7d05ab7329b42348e
Deleted: abb991a4ed5e4cde2d9964aec4cccbe0015ba9cc9838b696e7a32e1ddf4a49bd
Deleted: 1952e3bf3d7e8e6a9b1e23bd4142e3c42ff7f4b7925122189704323593fd54ac
Deleted: f95ebd363bf27a7546deced7a41a4099334e37a3d2901fa3817e62bb1ade183f
Deleted: 20dd0c75901396d41a7b64d551ff04952084cc3947e66c67bae35759c80da338
Deleted: 2505b734adda3720799dde5004302f5edb3f2a2ff71438f6488b530b728ba666
Deleted: 2ee0b8f351f753f78f1178000ae37616eb5bf241d4ef041b612d58e1fd2aefdc
Deleted: 2ce633e3e9c9bd9e8fe7ade5984d7656ec3fc3994f05a97d5490190ef95bce8d
Deleted: 98b15185dba7f85308eb0e21196956bba653cf142b36dc08059b3468a01bf35d
Deleted: 515565c29c940355ec886c992231c6019a6cffa17ff1d2abdfc844867c9080c5
Deleted: 2880a3395eded9b748c94d27767e1e202f8d7cb06f1e40e18d1b1c77687aef77
용기 검사
$ sudo docker ps -as
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
78479ffeba5c ubuntu "/bin/bash" 43 hours ago Exited (0) 43 hours ago sharp_wescoff 81 B (virtual 187.7 MB)
도커 이미지와 도커 컨테이너에는 차이가 있습니다. 이 SO 질문을 확인하십시오 .
간단히 말해서 컨테이너는 이미지의 실행중인 인스턴스입니다. 따라서 이미지에서 실행중인 컨테이너가있는 경우 이미지를 삭제할 수 없습니다. 컨테이너를 먼저 삭제하면됩니다.
Docker ps -a # Lists containers (and tells you which images they are spun from)
Docker images # Lists images
Docker rm <container_id> # Removes a container
Docker rmi <image_id> # Removes an image
# Will fail if there is a running instance of that image i.e. container
Docker rmi -f <image_id> # Forces removal of image even if it is referenced in multiple repositories,
# i.e. same image id given multiple names/tags
# Will still fail if there is a docker container referencing image
Docker 1.13 이상 업데이트 [2017 년 1 월부터]
Docker 1.13에서는 모든 명령을 다시 그룹화하여 상호 작용하는 논리 객체 아래에 놓습니다.
기본적으로 위의 명령은 다음과 같이보다 명확하게 다시 작성할 수 있습니다.
docker container ls
docker image ls
docker container rm <container_id>
docker image rm <image_id>
-f
옵션을 사용 하여 컨테이너를 강제로 삭제할 수 있습니다 .
sudo docker rmi -f training/webapp
컨테이너를 sudo docker stop training/webapp
삭제하기 전에 사용을 중지 할 수 있습니다
도커 이미지 및 컨테이너를 정리하려는 경우
주의 : 이것은 모든 것을 플러시합니다
모든 컨테이너를 중지
docker stop $(docker ps -a -q)
모든 용기를 제거하십시오
docker rm $(docker ps -a -q)
모든 이미지를 제거
docker rmi -f $(docker images -a -q)
다중 도커 컨테이너가 시작된 경우 이것을 사용하십시오.
$ docker rm $(docker ps -aq)
"ps -aq"명령에 나열된 모든 현재 도커를 제거합니다.
Source : aaam on https://github.com/docker/docker/issues/12487
Noticed this is a 2-years old question, but still want to share my workaround for this particular question:
Firstly, run docker container ls -a
to list all the containers you have and pinpoint the want you want to delete.
Secondly, delete the one with command docker container rm <CONTAINER ID>
(If the container is currently running, you should stop it first, run docker container stop <CONTAINER ID>
to gracefully stop the specified container, if it does not stop it for whatever the reason is, alternatively you can run docker container kill <CONTAINER ID> to force shutdown of the specified container
).
Thirdly, remove the container by running docker container rm <CONTAINER ID>
.
Lastly you can run docker image ls -a
to view all the images and delete the one you want to by running docker image rm <hash>
.
'development' 카테고리의 다른 글
테스트 리소스에 액세스하는 방법? (0) | 2020.06.28 |
---|---|
개인 유형에서 자동을 사용할 수있는 이유는 무엇입니까? (0) | 2020.06.28 |
"Visual Studio에서 메타 데이터 파일 '… \ Release \ project.dll'을 찾을 수 없습니다"오류 (0) | 2020.06.28 |
clang을 llvm IR로 컴파일하는 방법 (0) | 2020.06.28 |
프로그래밍 방식으로 루트 로깅 수준을 변경하는 방법 (0) | 2020.06.28 |