繁体   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