我正在尝试创建一个本地弹性搜索泊坞窗容器,其数据将从我的开发环境弹性搜索中填充。
我找到this npm插件elasticdump
可以完成这项工作。所以我从弹性搜索6.2.4图像
并在我的图片中安装了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
上收到此错误?
答案 0 :(得分:0)
您尝试将数据编入索引127.0.0.1:9200
,但此时您的弹性搜索没有开始。因此,在执行elasticdump命令之前,必须先在容器中启动ES。