docker如何pipe理容器的新文件?

从同一图像运行两个容器时,Container A和B.

假设在容器A中,我们已经安装了包AA,而在容器B中,我们已经安装了包BB,而不使用任何驱动器。

问题是,容器是完全无状态的吗? 只要我们仍然在使用那些容器,安装的软件包在哪里存储? 我可以从容器B访问包AA,反之亦然?

容器不是无国籍的,它们是有状态的。 每个容器都在基本映像上面拥有自己独有的覆盖文件系统。 这些每个容器的更改(状态)彼此隔离,因此不能从容器B访问程序包AA。当您docker rm container-a您只是删除容器A的唯一覆盖图,而保留基本图像不变。 这是docker startdocker run是不同命令的原因的一部分, run意味着创build一个新的容器并因此创build一个新的per-container状态(最初只是基本映像),而start意味着“使用持久化来执行容器从上次停止状态开始“。