为什么我不能docker形象?

  • 我从图像A运行容器A.

  • 然后,我改变容器A中的东西,并将这个容器提交给图像B.

  • 我从图像B和rm -f容器A运行容器B.

  • 我想rmi图像A,但它不工作.Docker说容器B正在使用它。

所以我的问题是,我从图像B运行容器B,但为什么泊坞窗说容器B使用图像A时,我想rmi图像A.

我的docker版本:

 Client version: 1.7.1 Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 786b29d OS/Arch (client): linux/amd64 Server version: 1.7.1 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 786b29d OS/Arch (server): linux/amd64 

您的图片B是基于图片A的 。 它inheritance了图像 A中使用的所有图像图层 ,并添加了通过提交新图像B创build的新图像图层。

因此,当您使用图像B时,图像A始终保留在图像层修订树中作为依赖项。只要您有使用图像B的正在运行的容器,就不能删除图像A.

这正是预期的行为。 您已经在图层(图像)A的顶部有效地创build了一个图层(图像)B.

其中Layer B是Layer A上的操作的增量。这是基于Union File System的 ,在docker的上下文中进行了描述: 了解Docker

我会说,你现在正在运行容器B,这是取决于ImageA(提供错误)。 但是,根本问题是图像B依赖于ImageA。