查看镜像:

删除失败:

$ docker rmi centos:latest                                                                                                                              
Error response from daemon: conflict: unable to remove repository reference "centos:latest" (must force) - container 9270e5028f22 is using its referenced image 1e1148e4cc2c

$ docker rmi 1e1148e4cc2c
Error response from daemon: conflict: unable to delete 1e1148e4cc2c (cannot be forced) - image has dependent child images

docker ps查看发现没有在运行的。

于是查看依赖关系:

$ docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Parent}}' $(docker image ls -q )
[antony314/centos:v1] sha256:47dd3157ad261529904d1e44ceb974c674a9542e6510ea0e1c784346d2c57713 sha256:1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb
[antony/ubuntu:latest] sha256:91e3b07b358dc003248553e7d40275897acbfce7bdf0524ece6ba797e3816251 sha256:9b9cb95443b5f846cd3c8cfa3f64e63b6ba68de2618a08875a119c81a8f96698
[hello-world:latest] sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e 
[ubuntu:14.04] sha256:7e4b16ae8b23e239ab03a413febb51e204e294cb2bf0e45cc4aa7bed7d7f704e 
[centos:latest] sha256:1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb 
[ubuntu:15.10] sha256:9b9cb95443b5f846cd3c8cfa3f64e63b6ba68de2618a08875a119c81a8f96698 

确实自己新commit的antony314/centos是依赖了官方镜像centos,

于是先删除antony314/centos:

注意不是latest需要带上tag名称,这里是v1

看起来是成功了,继续删除原image:

$  docker rmi centos:latest 
Error response from daemon: conflict: unable to remove repository reference "centos:latest" (must force) - container 9270e5028f22 is using its referenced image 1e1148e4cc2c

$ docker rmi 1e1148e4cc2c
Error response from daemon: conflict: unable to delete 1e1148e4cc2c (must be forced) - image is being used by stopped container 9270e5028f22

注意这里用image id删除的时候报错的内容不一样了,看来还是container没有关闭。

但是一样,用docker ps 看还是没有在运行的容器:

但是查看所有的话,docker ps -a:

这大概就是实例化的和运行中的区别。

于是仍然先删除container,最后终于删除镜像成功:

$ docker rm 67a06fa62c7d
$ docker rm 9270e5028f22
$ docker rmi 1e1148e4cc2c
Untagged: centos:latest
Untagged: centos@sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Deleted: sha256:1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb
Deleted: sha256:071d8bd765171080d01682844524be57ac9883e53079b6ac66707e192ea25956

 

最后,附几个常用停止和删除容器的命令:

docker stop containerId   // containerId 是容器的ID

docker rm containerId   // containerId 是容器的ID

docker stop $(docker ps -a -q)   // stop停止所有容器 

docker rm $(docker ps -a -q)   // remove删除所有容器
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐