我在Mac上安装了docker,当我docker info
看到以下信息:
Containers: 9
Running: 8
Paused: 0
Stopped: 1
Images: 5
但是,当我运行docker container ls -a
或docker ps -a
时,那里什么也没有运行。
执行此操作时,我可以看到5张正在运行的图像:docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-apiserver-amd64 v1.10.11 e851a7aeb6e8 3 months ago 228MB
k8s.gcr.io/kube-controller-manager-amd64 v1.10.11 978cfa2028bf 3 months ago 151MB
k8s.gcr.io/kube-scheduler-amd64 v1.10.11 d2c751d562c6 3 months ago 51.2MB
k8s.gcr.io/etcd-amd64 3.1.12 52920ad46f5b 11 months ago 193MB
k8s.gcr.io/pause-amd64 3.1 da86e6ba6ca1 14 months ago 742kB
但是我无法删除它们。
我尝试这样做:docker rmi <image_id>
甚至这样:docker rmi $(docker images -aq)
都给出了这样的错误:
Error response from daemon: conflict: unable to delete <image_id> (cannot be forced) - image is being used by running container <container_id>
当我尝试杀死这些“正在运行的”容器ID之一时,例如:docker kill <container_id>
,我收到错误消息:
Error response from daemon: Cannot kill container: <container_id>: Container <long_container_id> is not running
或者,如果我做docker stop <container_id>
,那么我只是拿回容器ID,这意味着容器已经停止了吗?但是即使在那之后,尝试删除图像,也会出现相同的错误。
那么,如何摆脱这些正在运行的“幽灵”容器和图像?
答案 0 :(得分:0)
如果您不需要该容器,则可以使用与删除图像相同的方式删除该容器
docker rm <container_id>
那之后您应该有更好的运气来删除图像
docker rmi <image_id>
或者您必须删除所有图像
docker rmi $(docker images -qa)