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]
컨테이너가 이미지에서 실행 중인지 여부
도와주세요
답변
도커 이미지와 도커 컨테이너에는 차이가 있습니다. 이 SO Question을 확인하십시오 .
간단히 말해서 컨테이너는 이미지의 실행중인 인스턴스입니다. 이미지에서 실행중인 컨테이너가 있으면 이미지를 삭제할 수 없습니다. 컨테이너를 먼저 삭제하면됩니다.
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 -a
docker image ls
docker container rm <container_id>
docker image rm <image_id>
또한 제거하려는 경우 모든 하려면 다음을 사용할 수 있습니다.
docker system prune -a
경고! 제거됩니다 :
- 모든 정지 된 용기
- 하나 이상의 컨테이너에서 사용하지 않는 모든 네트워크
- 사용하지 않은 모든 이미지
- 모든 빌드 캐시
답변
먼저 컨테이너 이름을 제거하십시오.
$ 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)
답변
도커 이미지 및 컨테이너를 정리하려는 경우
주의 : 이것은 모든 것을 플러시합니다
모든 컨테이너를 중지
docker stop $(docker ps -a -q)
모든 용기를 제거하십시오
docker rm $(docker ps -a -q)
모든 이미지를 제거
docker rmi -f $(docker images -a -q)
답변
-f
옵션을 사용 하여 컨테이너를 강제로 삭제할 수 있습니다 .
sudo docker rmi -f training/webapp
컨테이너를 sudo docker stop training/webapp
삭제하기 전에 사용을 중지 할 수 있습니다
답변
다중 도커 컨테이너가 시작된 경우 이것을 사용하십시오.
$ docker rm $(docker ps -aq)
“ps -aq”명령에 나열된 모든 현재 도커를 제거합니다.
답변
이것은 2 년 된 질문이지만 여전히이 특정 질문에 대한 해결 방법을 공유하고 싶습니다.
먼저 docker container ls -a
가지고있는 모든 컨테이너를 나열하고 삭제하려는 원하는 것을 정확하게 지정하십시오.
둘째, 명령으로 docker container rm <CONTAINER ID>
컨테이너를 삭제하십시오 (컨테이너가 현재 실행중인 경우 먼저 컨테이너 docker container stop <CONTAINER ID>
를 중지하고 지정된 이유에 관계없이 컨테이너를 중지하지 않은 경우 달리 실행할 수 있습니다 docker container kill <CONTAINER ID> to force shutdown of the specified container
).
셋째,을 실행하여 컨테이너를 제거하십시오 docker container rm <CONTAINER ID>
.
마지막으로을 실행 docker image ls -a
하여 모든 이미지를 보고을 실행 하여 원하는 이미지를 삭제할 수 있습니다 docker image rm <hash>
.
답변
도커 이미지 제거>
모든 컨테이너 목록
docker container ls
모든 이미지 나열
docker image ls
컨테이너 ID별로 컨테이너 중지
docker container stop <container_id>
컨테이너 ID로 컨테이너 제거
docker container rm <container_id>
중지 및 제거를 원하지 않으면 강제 제거
docker container rm -f <container_id>
이미지 제거
docker image rm <image_id>
끝난!
