当我删除它的镜像时,Docker容器会怎样?

时间:2019-11-13 00:25:20

标签: docker docker-container docker-image

根据docker documentation,docker映像与其各自容器之间的关系是,该映像包含其创建期间使用的层,并且该映像中的容器仅添加了经过修改的另一层。如下图所示

考虑到这一点,我认为删除具有实例化容器的图像会使它们无效,因为它们将丢失其依赖的所有层。当您尝试删除具有容器的图像时收到的错误消息强加了这种理论:

Error response from daemon: conflict: unable to delete dee20bb93b6a (must be forced) - image is being used by stopped container c44b4080aa76

但是令我惊讶的是,当我用-f标志强制删除图像并启动容器时,它才运行。像那样。没有错误,没有损坏,没有丢失的文件。请勿停火。没有。它完全没有删除图像之前的确切状态。

我的问题是:刚刚发生了什么?为什么容器没有变得无效?

1 个答案:

答案 0 :(得分:1)

容器是容器映像的实例化实例。只要先前创建的容器存在并且未被删除,它就不会依赖于基础容器映像。