是否可以安全删除所有未标记的docker.io图像?

时间:2014-06-19 15:17:09

标签: image docker

我无法在这个答案的任何地方找到问题。 使用docker.io时,会创建大量未标记的图像。 我的问题是:如果我删除它们,我是否有可能破坏任何东西? 我的意思是,有可能另一个标记的(!)图像依赖于它们,当我删除未标记的孩子时它会停止运作吗?

在所有情况下都是如此吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

为什么不尝试? ;)

这是我的测试系统上的一小部分无标记图像:

# docker images -a
REPOSITORY   TAG    IMAGE ID            CREATED             VIRTUAL SIZE
[...]
<none>              3fe716bafb0d        36 hours ago        381.2 MB
<none>              07bce059bd37        36 hours ago        380.3 MB
<none>              e1fef18f0eda        36 hours ago        380.3 MB
<none>              **a7e21150f14d**        36 hours ago        380.3 MB

让我们删除另一张图片所依赖的图片:

# docker rmi a7e21150f14d
Error: Conflict, a7e21150f14d wasn't deleted
2014/06/19 18:21:45 Error: failed to remove one or more images

好的,现在尝试使用force选项:

# docker rmi -f a7e21150f14d
Error: Conflict, a7e21150f14d wasn't deleted
2014/06/19 18:24:11 Error: failed to remove one or more images
# docker images -a | grep a7e21150f14d                                   
<none>              a7e21150f14d        36 hours ago        380.3 MB

还在那里。

注意:运行相同的测试,这次在标记的图片上会取消标记,但只要有相关内容,就无法删除它。

但是现在,如果我删除最顶层的图像,它会自动清除/删除未使用的依赖项:

# docker rmi 3fe716bafb0d <-- this is my top image Deleted: 3fe716bafb0da75ef9c8691cdcf4e998622963489577c8b34ca2d76ccca20efd Deleted: 07bce059bd37aedef85218f6112f0ed492971afaa8ba0d567ae8ca77f1676ff6 Deleted: e1fef18f0eda0cb60149c5a739f7f4944dbfbfbc1b7d2a07402f5ca52731a7c9 Deleted: a7e21150f14d 20bce85bec30ef6658091a8ce1e85bee64437bf76f9567780c0e