docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker中elasticsearch的导入导出

在docker容器中elasticsearch的导入导出方式

作者:真·晃过天空

文章详细介绍了如何使用Docker拉取Elasticsearch镜像,并导出和导入索引数据,还讨论了在Elasticsearch Head中解决请求头显示不正确的问题,包括从容器中复制文件、编辑文件和将文件回传到容器

docker中elasticsearch的导入导出

1、拉去dump镜像

docker pull taskrabbit/elasticsearch-dump

2、创建文件存放路径

mkdir -p /data/

导出的文件都是以.json结尾

导出数据

docker run --rm -ti -v /data/:/tmp taskrabbit/elasticsearch-dump --input=http://你的IP:9200/你的index --output=/tmp/你的文件名.json --type=data

 存放在目录 /data/下

docker run --rm -ti -v /root/es_dump_data/:/tmp taskrabbit/elasticsearch-dump --input=http://你的ip:9200/你的index --output=/tmp/你的文件名.json --type=mapping

 存放在木/root/es_dump_data下

docker run --rm -ti -v /root/es_dump_data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/你的文件名.json --output=http://你的ip:9200/你的index --type=mapping

导入数据

docker run --rm -ti -v /data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/你的文件名称.json --output=http://你的ip:9200/你的index --type=data
docker run --rm -ti -v /root/es_dump_data/:/tmp taskrabbit/elasticsearch-dump --input=http://你的ip:9200/ciplatform --output=/tmp/analyzer.json --type=analyzer
docker run --rm -ti -v /root/es_dump_data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/dw_task_progress_index_analyzer.json --output=http://你的ip:9200/ --type=analyzer

es导入数据之后无法显示的请求头问题

我们需要修改一下elasticsearch-head 5的配置文件。

1、因为docker容器里面无法使用vi/vim

所以需要先将文件拷贝出来。

命令:

docker cp es_head:/usr/src/app/_site/vendor.js ./

说明:

将容器里面/usr/src/app/_site/vendor.js文件拷贝到宿主机的当前目录下,其中es_head为容器名,也可以写容器id。

2、编辑文件

vi vendor.js

共有两处:

1)6886行

contentType: "application/x-www-form-urlencoded

改成

contentType: "application/json;charset=UTF-8"

2)7573行

var inspectData = s.contentType === "application/x-www-form-urlencoded" &&

改成

var inspectData = s.contentType === "application/json;charset=UTF-8" &&

3、将改完后的文件拷贝回容器

docker cp vendor.js es_head:/usr/src/app/_site

无需重启,刷新页面即可。 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文