当前位置:  开发笔记 > 数据库 > 正文

在Docker容器中保留弹性搜索数据

如何解决《在Docker容器中保留弹性搜索数据》经验,为你挑选了1个好方法。

我有一个正在运行的ES docker容器,我这样运行

docker run -p 80:9200 -p 9300:9300 --name es-loaded-with-data --privileged=true --restart=always es-loaded-with-data

我用一堆测试数据加载了ES并希望将它保存在那个状态,所以我跟进了

docker commit containerid es-tester
docker save es-tester > es-tester.tar

然后,当我把它加载回数据时,一切都消失了......是什么给出的?

docker load < es-tester.tar

creack.. 13

如果从官方ES图像开始,它使用的是体积(https://github.com/docker-library/elasticsearch/blob/7d08b8e82fb8ca19745dab75ee32ba5a746ac999/2.1/Dockerfile#L41).因此,Docker不会提交写入该卷的任何数据.要备份数据,您需要将数据复制出容器:docker cp :/usr/share/elasticsearch/data



1> creack..:

如果从官方ES图像开始,它使用的是体积(https://github.com/docker-library/elasticsearch/blob/7d08b8e82fb8ca19745dab75ee32ba5a746ac999/2.1/Dockerfile#L41).因此,Docker不会提交写入该卷的任何数据.要备份数据,您需要将数据复制出容器:docker cp :/usr/share/elasticsearch/data


我最终想出来并感谢答案.我的问题的真正关键在于我正在查看的Dockerfile被检查到github没有VOLUME语句但用于构建我正在使用的ES docker镜像的那个...这引起了我严重的困惑.是的我使用了docker cp,现在有一个版本可以使用-v在docker run上加载数据,而且还没有使用卷但是obvioulsy会生成一个巨大的docker镜像.谢谢creack
推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有