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

我有一个正在运行的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
最佳答案
如果您从官方ES映像开始,则使用卷(https://github.com/docker-library/elasticsearch/blob/7d08b8e82fb8ca19745dab75ee32ba5a746ac999/2.1/Dockerfile#L41).因此,Docker不会提交写入该卷的任何数据.
为了备份数据,您需要将数据从容器中复制出来:docker cp< container name>:/usr/share / elasticsearch / data< dest>

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...