默認情況下,當Docker容器重啟時,容器中的所有更改(包括創建的文件、修改的配置等)都會被保留。這是因為Docker容器的文件系統是基于鏡像層的聯合文件系統(UnionFS)實現的,它使用鏡像作為只讀的基礎層,并在其上添加一個可寫層,所有的更改都在這個可寫層中進行。
當容器重啟時,Docker會重新加載這個可寫層,使得所有的更改都能被還原,保留原有數據的狀態。只有當你顯式地刪除或清除這個容器時,才會丟失容器中的所有更改。
然而,如果你重新創建了一個基于相同鏡像的容器,并使用相同的可寫層,則容器中的數據將不會被保留。因此,如果你希望保留數據,可以考慮將數據存儲在容器之外,例如使用Docker卷(Volumes)或綁定掛載(Bind Mounts)來持久化存儲數據。這樣,即使容器被刪除或重新創建,數據仍然可以被訪問和保留。