在 docker 容器中,文件通常不會持久化,需要采用方法來持久化文件:使用數(shù)據(jù)卷,在容器之間共享文件系統(tǒng),容器停止后文件保留。使用 docker 卷,由 docker 管理,類似數(shù)據(jù)卷。使用本地存儲,僅供臨時存儲,容器重啟后數(shù)據(jù)丟失。使用持久性存儲,由第三方存儲提供商提供,持久化大型數(shù)據(jù)集。
如何在 Docker 容器中持久化文件
在 Docker 容器中,文件通常不會持久化,即容器重新啟動后,文件將被刪除。為了持久化文件,有以下幾種方法:
1. 使用數(shù)據(jù)卷
數(shù)據(jù)卷是一種可用于在容器之間共享文件系統(tǒng)的持久化存儲。當容器停止運行時,數(shù)據(jù)卷中的文件將被保留。要使用數(shù)據(jù)卷,可以在創(chuàng)建或運行容器時使用 -v 選項將宿主機上的目錄掛載到容器中的目錄:
<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15865.html" target="_blank">docker</a> run -v /host-path:/container-path image-name
登錄后復制
2. 使用 Docker 卷
Docker 卷類似于數(shù)據(jù)卷,但它們由 Docker 管理,而不是由宿主機文件系統(tǒng)管理。創(chuàng)建 Docker 卷并將其掛載到容器中:
docker volume create volume-name docker run -v volume-name:/container-path image-name
登錄后復制
3. 使用本地存儲
對于只需要臨時存儲數(shù)據(jù)的容器,可以使用本地存儲。本地存儲將數(shù)據(jù)保存在容器的文件系統(tǒng)中,但它不會持久化,即容器重新啟動后數(shù)據(jù)將丟失。
4. 使用持久性存儲
對于需要持久化存儲大型數(shù)據(jù)集或重要數(shù)據(jù)的容器,可以使用持久性存儲。持久性存儲由第三方存儲提供商(如 Amazon EBS、Azure Blob Storage 或 Google Cloud Storage)提供。要使用持久性存儲,需要創(chuàng)建一個持久性存儲卷并將其掛載到容器中。
選擇合適的方法取決于具體用例和數(shù)據(jù)持久性的要求。