我正在尝试创建一个本地elastic search docker容器,其中包含要从我的开发环境elastic search填充的数据。
我找到了this npm插件elasticdump,它可以做这项工作。所以我从elastic search 6.2.4图片创建了一个容器image
并在我的镜像中安装了node和elastdump npm插件。
然后创建了一个Docker文件,以便在容器启动后从我的开发服务器转储数据:
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上看到这个错误?
发布于 2018-06-05 19:29:24
您尝试将数据索引到127.0.0.1:9200,但您的elasticsearch此时未启动。所以你必须在执行elasticdump命令之前在容器中启动ES。
https://stackoverflow.com/questions/50698773
复制相似问题