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

 更新时间:2025年11月05日 10:42:16   作者:真·晃过天空  
文章详细介绍了如何使用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/下

  • 导出es的mapping 
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下

  • 导入mapping
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
  • 导出analyzer(没有分词就不需要)
docker run --rm -ti -v /root/es_dump_data/:/tmp taskrabbit/elasticsearch-dump --input=http://你的ip:9200/ciplatform --output=/tmp/analyzer.json --type=analyzer
  • 导入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

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

总结

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

相关文章

  • Docker Desktop 安装的详细步骤

    Docker Desktop 安装的详细步骤

    作为开发人员,在日常开发中,我们需要在本地去启动一些服务,可以使用Docker Desktop,本文主要介绍了Docker Desktop 安装的详细步骤,感兴趣的可以了解一下
    2023-08-08
  • Docker compose 编排工具详解

    Docker compose 编排工具详解

    Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用Compose文件来配置应用程序的服务。然后,使用单个命令,您可以从配置中创建并启动所有服务
    2021-09-09
  • 基于Docker实现MySQL主从复制的详细教程

    基于Docker实现MySQL主从复制的详细教程

    这篇博客整理了如何在Docker环境下配置MySQL主从复制,通过创建和命名两个MySQL容器,设置独立IP,并详细说明了在宿主机上持久化数据、开启root远程访问及添加复制用户的过程,需要的朋友可以参考下
    2024-10-10
  • Docker容器配置Nginx实例分享

    Docker容器配置Nginx实例分享

    这篇文章主要介绍了Docker容器配置Nginx实例分享的相关资料,需要的朋友可以参考下
    2016-10-10
  • 如何使用Docker部署Go Web应用的实现

    如何使用Docker部署Go Web应用的实现

    这篇文章主要介绍了如何使用Docker部署Go Web应用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • docker save与docker export的区别

    docker save与docker export的区别

    docker save和docker export都能导出镜像包,本文主要介绍了docker save与docker export的区别,试图搞清楚docker save和docker export的功能是什么?适用于什么应用场景?感兴趣的可以了解一下
    2022-03-03
  • 在Ubuntu上使用Grafana监控Docker的方法

    在Ubuntu上使用Grafana监控Docker的方法

    如今越来越多的公司开始使用Docker,一谈起Docker总是会跟着让人联想到轻量这个词,甚至会有一种通过Docker启动一个服务会节省很多资源的错觉。然而Docker的「轻」也只是相对于传统虚拟机而已。Docker如何监控呢?本文就给大家介绍在Ubuntu上如何使用Grafana监控Docker。
    2016-12-12
  • debian12安装docker的实现步骤

    debian12安装docker的实现步骤

    本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • 如何搭建docker虚拟机测试服

    如何搭建docker虚拟机测试服

    文章介绍如何搭建Docker虚拟机测试服,通过隔离环境、安装CentOS镜像并映射端口,配置安全组和域名转发,实现本地开发测试连接测试服数据库和Redis,感兴趣的朋友跟随小编一起学习吧
    2025-08-08
  • docker run的--rm选项使用说明

    docker run的--rm选项使用说明

    这篇文章主要介绍了docker run的--rm选项使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论