docker如何管理容器新文件?

docker如何管理容器新文件?,docker,docker-container,Docker,Docker Container,从同一映像运行两个容器时,容器A和B 假设在容器A中安装了包AA,在容器B中安装了包BB,而不使用任何驱动器 问题是,容器是否完全无状态?只要我们还在使用这些容器,安装的软件包存储在哪里?我是否能够从容器B访问包AA,反之亦然?容器不是无状态的,它们是有状态的。每个容器在基本映像的顶部都有自己的完全拥有且唯一的覆盖文件系统。这些每个容器的更改(状态)是相互隔离的,因此您无法从容器B访问包AA。当您docker rm container-a时,您只是删除容器a的唯一覆盖,使基础图像保持不变。这就是

从同一映像运行两个容器时,容器A和B

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


问题是,容器是否完全无状态?只要我们还在使用这些容器,安装的软件包存储在哪里?我是否能够从容器B访问包AA,反之亦然?

容器不是无状态的,它们是有状态的。每个容器在基本映像的顶部都有自己的完全拥有且唯一的覆盖文件系统。这些每个容器的更改(状态)是相互隔离的,因此您无法从容器B访问包AA。当您
docker rm container-a
时,您只是删除容器a的唯一覆盖,使基础图像保持不变。这就是为什么
docker start
docker run
是不同的命令的部分原因,
run
意味着创建一个新的容器,因此每个容器都有一个新的状态(最初只有基本图像),而
start
意味着“使用上次停止时的持久状态执行容器”。

容器不是无状态的,它们是有状态的。每个容器在基本映像的顶部都有自己的完全拥有且唯一的覆盖文件系统。每个容器的这些更改(状态)是相互隔离的,因此您无法从容器B访问包AA。当您
docker rm container-a
删除容器a的唯一覆盖时,基本图像保持不变。这是
docker start
docker run
是不同命令的部分原因,
run
意味着创建一个新的容器,因此每个容器都有一个新的状态(最初只有基本映像),而
start
意味着“使用上次停止时的持久状态执行容器”。

感谢澄清感谢澄清