簡體   English   中英

將數據從Docker容器持久保存到主機

[英]Persist data from docker container to host machine

我在Windows 10筆記本電腦上運行docker,我使用Dockerfile設置了第一個運行Elasticsearch的容器,並且可以正常工作。 每次我停止容器並再次啟動它時,數據都消失了。

在我的Windows機器,我創建了位置的文件夾C:/Docker/esdata在我elasticsearch.yml我加path.data: /usr/share/elasticsearch/data是份數據。 在Dockerfile中,我添加了:

VOLUME /c/Docker/esdata:/usr/share/elasticsearch/data

但這仍然行不通,有人可以告訴我我在做什么錯。

您的Dockerfile指定了映像的屬性...無論在何處運行容器,它們都是相同的。

VOLUME /c/Docker/esdata:/usr/share/elasticsearch/data

沒有按照您認為的那樣做-您不能強迫稍后運行映像的人掛載該特定文件夾。 (VOLUME接受一個參數,即容器內要與寫時復制文件系統分開的路徑)相反,您可以在運行時使用docker run命令安裝卷...

docker run -v /c/Docker/esdata:/usr/share/elasticsearch/data

這會將計算機上的路徑安裝到正在運行的容器中的路徑。 但是,如上所述,/ c / Docker對於運行docker的虛擬機不可用,您將不得不執行更多類似的操作

/c/Users/Docker/esdata:/usr/share/elasticsearch/data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM