다음과 같이 Docker 이미지를 삭제하려고 하는데 어떻게 해야 하는지 모르겠습니다.
도커 이미지 목록
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
<none> <none> 04251cf7a8b9 About a minute ago 356.1 MB
pg-image latest 1060b3e656b6 5 minutes ago 323.9 MB
redis-image latest 8df469463da3 14 minutes ago 137.7 MB
ubuntu 12.04 822a01ae9a15 2 weeks ago 108.1 MB
삭제하려는 Docker 이미지:
$ docker rmi 042
Error response from daemon: Conflict, cannot delete 04251cf7a8b9 because
the container 4ac3a09ab4d3 is using it, use -f to force
2014/08/27 15:16:15 Error: failed to remove one or more images
삭제하려고 사용하려고 하면 -f
작동하지 않습니다. 이 이미지를 올바르게 삭제하는 방법은 무엇이며 를 사용하여 삭제할 수 없는 이유는 무엇입니까 docker rmi -f 042
?
답변1
여기서 문제는 여전히 이미지를 사용하고 있는 컨테이너 4ac3a09ab4d3이 있다는 것입니다.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ac3a09ab4d3 04251cf7a8b9 /bin/sh -c ./git_che 2 minutes ago Exited (128) 2 minutes ago trusting_hawking
02c14db1bc65 pg-image:latest /usr/lib/postgresql/ 5 minutes ago Up 5 minutes postgres
6a022281382f redis-image:latest /usr/bin/redis-serve 8 minutes ago Up 8 minutes 6379/tcp redis-db
이미지를 삭제하려면 먼저 컨테이너를 삭제해야 합니다.
# removes container 4ac3a09ab4d3
$ docker rm 4ac
# removes image 04251cf7a8b9
$ docker rmi 042
Deleted: 04251cf7a8b9efd81b8de6fbc0099f12a7933307bd4ecdadbaa9f1672b4a5f8f
Deleted: 7f76b7a22ef2c66a148714980716e7d01d97455b303cbeb7cc371ccba8bb5153
Deleted: bb7221a7b4a01573b0e3a175f3242f5e0ef58371c89a59dec7831146d6102bf8
Deleted: 493a63262d20f2a3ffc050c85d30528ab8a93c9dd2718fdb27dbbaac1a551c06
...
이렇게 하면 컨테이너(4ac3a09ab4d3)와 이미지(04251cf7a8b9)가 모두 시스템에서 제거됩니다.