我有一个正在运行的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>
为了备份数据,您需要将数据从容器中复制出来:docker cp< container name>:/usr/share / elasticsearch / data< dest>