2016-08-12 60 views
0

我在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 

但是這仍然無法正常工作,能有人告訴我,我做錯了。

+1

'C:/ Users'在兩個碼頭工人工具箱共享目錄的默認和Docker for Windows。 – Matt

回答

2

您的Dockerfile指定圖像的屬性...無論您在哪裏運行容器,都是相同的東西。

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

沒有做什麼你認爲它是doing-你不能強迫別人誰後運行你的形象,以掛載特定的文件夾。 (VOLUME接受一個參數,容器內的路徑是成爲從寫入時複製文件系統獨立的)相反,你安裝在運行時與碼頭工人,運行命令體積...

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

這會將機器上的路徑安裝到正在運行的容器中的路徑。然而,正如上文所指出的,/ C /泊塢窗不可用於運行泊塢窗的虛擬機,你將不得不做更多的東西一樣

/c/Users/Docker/esdata:/usr/share/elasticsearch/data 
相關問題