温馨提示×

docker容器重启会不会保留原有数据

小亿
878
2023-12-22 00:38:54
栏目: 编程语言

默认情况下,当Docker容器重启时,容器中的所有更改(包括创建的文件、修改的配置等)都会被保留。这是因为Docker容器的文件系统是基于镜像层的联合文件系统(UnionFS)实现的,它使用镜像作为只读的基础层,并在其上添加一个可写层,所有的更改都在这个可写层中进行。

当容器重启时,Docker会重新加载这个可写层,使得所有的更改都能被还原,保留原有数据的状态。只有当你显式地删除或清除这个容器时,才会丢失容器中的所有更改。

然而,如果你重新创建了一个基于相同镜像的容器,并使用相同的可写层,则容器中的数据将不会被保留。因此,如果你希望保留数据,可以考虑将数据存储在容器之外,例如使用Docker卷(Volumes)或绑定挂载(Bind Mounts)来持久化存储数据。这样,即使容器被删除或重新创建,数据仍然可以被访问和保留。

0