docker@boot2docker:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
php latest d71bada8846a 8 days ago 489.8 MB
hello-world latest f1d956dc5945 2 weeks ago 967 B
docker@boot2docker:~$ docker rmi f1d956dc5945
Error response from daemon: Conflict, cannot delete f1d956dc5945 because the container 3e3f017a5df4 is using it, use -f to force
Error: failed to remove images: [f1d956dc5945]
可以看出,image并没有被删除,而且报错被占用,无法删除
查看docker的帮助会发现有两个与删除有关的命令rm和rmi
rm Remove one or more containers
rmi Remove one or more images
docker@boot2docker:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e3f017a5df4 hello-world:latest "/bin/bash" 2 weeks ago Created determined_newton
36fca46be557 hello-world "/hello" 2 weeks ago Exited (0) 2 weeks ago clever_bell
[yaxin@ubox ~]$docker rm 117843ade696
Error: container_delete: Impossible to remove a running container, please stop it first2014/03/22 16:36:44 Error: failed to remove one or more containers
这个时候删除镜像可能还会出现错误,比如:
Error: container_delete: Impossible to remove a running container, please stop it first2014/03/22 16:36:44 Error: failed to remove one or more containers
这是因为该container正在运行中(运行docker ps查看),先将其关闭
docker stop CONTAINER ID(具体的值)
然后再删除镜像,就会发现成功
docker@boot2docker:~$ docker rmi f1d956dc5945
Untagged: hello-world:latest
Deleted: f1d956dc5945042a7aa18067346f1c2f1b47f39590a53f23e009600d5a9b3f49
Deleted: d59cd4c39e502ebb7eabe6b49eb0b5e19d38dede67540c51a27b5426c0976f4e
docker@boot2docker:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
php latest d71bada8846a 8 days ago 489.8 MB
可以看出,image已经被删除。
总结:删除镜像之前,要确保该镜像没有正在运行(可以通过命令:docker ps 来查看),以及运行过被保存记录全部删除(可以通过命令:docker ps -a )