Docker:如何删除用于构建容器的所有图像?

时间:2017-06-30 06:38:23

标签: docker

有没有办法识别用于运行容器的所有图像?

我指的是组成容器的所有图层。

我想删除这些图片,但无法找到指定我只想删除与容器关联的图片的方法。

1 个答案:

答案 0 :(得分:1)

您首先需要了解图片和容器之间的区别(您正在混合'运行'以及#39;关于您问题中的容器):您构建图像然后运行基于图像的容器。

如果要回收一些空间,请删除未使用的图像和图层(来自旧版图像),正如@ oliver-charlesworth所说,使用docker image prune
还有docker container prune删除已停止的容器。

更进一步:

获取容器的图像:

docker container inspect --format '{{.Image}}' <CONTAINER_ID_OR_NAME>

然后要获取图像的图层,请使用docker image history

docker image history <RESULT_OF_PREVIOUS_COMMAND>

每个图层都是基于前一个图层构建的,因此您无法删除构成容器的图层

docker image rm <IMAGE_ID>
Error response from daemon: conflict: unable to delete <IMAGE_ID> (cannot be forced) - image has dependent child images
# OR
Error response from daemon: conflict: unable to remove repository reference "<IMAGE_NAME>" (must force) - container <CONTAINER_ID is using its referenced image <IMAGE_ID>
相关问题