无法删除一些未标记的docker图像

我无法显式删除一些未标记的泊坞窗图像。 具体而言,那些标签为<none>

如果我运行docker images -a我得到这样的东西:

 <none> <none> 91e54dfb1179 3 months ago 188.3 MB <none> <none> d74508fb6632 3 months ago 188.3 MB <none> <none> c22013c84729 3 months ago 188.3 MB <none> <none> d3a1f33e8a5a 3 months ago 188.1 MB <none> <none> 4a5e6db8c069 3 months ago 125.1 MB <none> <none> 2c49f83e0b13 3 months ago 

但是,当我inputdocker rmi -f 2c49f83e0b13我得到:

 Error response from daemon: Conflict, 2c49f83e0b13wasn't deleted Error: failed to remove images: [2c49f83e0b13] 

任何想法可能是什么问题?

这些可能是我实际使用的一些图像的中间docker图像。 但如果是这样的话,那么完成的docker图像应该已经有了这些先前的图像,我并不明确需要这些中间图像。

确保图像实际上是悬空的 (意味着它不被任何其他图像引用,或者不是图像的父对象)

 docker images --filter "dangling=true" -q --no-trunc 

如果是悬挂(并且应该被移除),那么存在一些挂起的错误,报告不可能删除这样的图像: 问题13625 , 问题12487 。

在删除图像之前,应该先停止容器:

docker rm $(docker ps -a -q)

来源: https : //github.com/docker/docker/pull/6112

这也发生在我身上,重新启动docker引擎,使用这个图像的所有容器解决了这个问题。