将数据从Elastic搜索导出到本地Docker容器

时间:2018-06-05 11:17:53

标签: docker elasticsearch

我正在尝试创建一个本地弹性搜索泊坞窗容器,其数据将从我的开发环境弹性搜索中填充。

我找到this npm插件elasticdump可以完成这项工作。所以我从弹性搜索6.2.4图像

创建了一个容器image

并在我的图片中安装了node和elastdump npm插件。

然后创建了一个Docker文件,用于在容器启动后从我的dev服务器转储数据:

FROM javatechy/elasticsearch_dump:1.0
CMD elasticdump  --input=http://dev.server.com:9200/search-log-index --output=http://127.0.0.1:9200/search-log-index  --type=data
CMD elasticdump  --input=http://dev.server.com:9200/user-index --output=http://127.0.0.1:9200/user-index  --type=data

当我构建并运行此图像时。我收到了这个错误:

deepak:~/projects/dock-es$ docker build -t myimage .
Sending build context to Docker daemon  8.704kB
Step 1/6 : FROM javatechy/elasticsearch_dump:1.0
 ---> 51c31a5c6d13
Step 2/6 : MAINTAINER Javatechy
 ---> Using cache
 ---> 5d9799b6b075
Step 3/6 : CMD elasticdump  --input=http://dev.server.com:9200/search-l
.........
 ---> Using cache
 ---> 236c55625a6d
Successfully built 42000b42292b
Successfully tagged myimage:latest

deepak:~/projects/dock-es$ docker run -it myimage
Tue, 05 Jun 2018 11:12:29 GMT | starting dump
Tue, 05 Jun 2018 11:12:30 GMT | got 100 objects from source elasticsearch (offset: 0)
Tue, 05 Jun 2018 11:12:30 GMT | Error Emitted => connect ECONNREFUSED 127.0.0.1:9200
Tue, 05 Jun 2018 11:12:30 GMT | Total Writes: 0
Tue, 05 Jun 2018 11:12:30 GMT | dump ended with error (set phase)  => Error: connect ECONNREFUSED 127.0.0.1:9200

为什么我在connect ECONNREFUSED 127.0.0.1:9200上收到此错误?

1 个答案:

答案 0 :(得分:0)

您尝试将数据编入索引127.0.0.1:9200,但此时您的弹性搜索没有开始。因此,在执行elasticdump命令之前,必须先在容器中启动ES。