首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带请求的Docker Elasticsearch插件

带请求的Docker Elasticsearch插件
EN

Stack Overflow用户
提问于 2017-04-05 23:04:54
回答 1查看 726关注 0票数 5

我们正在尝试在Docker容器中运行Elasticsearch节点。我们使用Search Guard插件来保证安全性。但是,在安装过程中,插件要求我们运行一个脚本。此脚本要求ElasticSearch在运行时能够在端口9300上访问。有没有延迟脚本的最佳实践?我们已经尝试过在执行前休眠,以及RUN和CMD Dockerfile命令。

下面是输出:

代码语言:javascript
复制
elasticsearch    | Search Guard Admin v5
elasticsearch    | Will connect to localhost:9300
elasticsearch    | ERR: Seems there is no elasticsearch running on 
localhost:9300 - Will exit

Dockerfile:

代码语言:javascript
复制
FROM docker.elastic.co/elasticsearch/elasticsearch:5.3.0

USER root

RUN apk update \
    && apk upgrade \
    && apk add nano

USER root

# Add the ElasticSeach config
ADD elasticsearch.yml /usr/share/elasticsearch/config/
RUN chown elasticsearch:elasticsearch /usr/share/elasticsearch/config/elasticsearch.yml

# Add the truststore
ADD keys/truststore.jks /usr/share/elasticsearch/config/
RUN chown elasticsearch:elasticsearch /usr/share/elasticsearch/config/truststore.jks

# Create the node certs
ADD gen-cert/ /usr/share/elasticsearch/gen-cert/
WORKDIR /usr/share/elasticsearch/gen-cert
RUN ./gen_node_cert.sh 0 ######### #########
RUN cp node-keystore.jks /usr/share/elasticsearch/config/

# Prep for boot!
WORKDIR /usr/share/elasticsearch/
USER elasticsearch

RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install -b com.floragunn:search-guard-5:5.3.0-11
RUN chmod +x -R /usr/share/elasticsearch/plugins/search-guard-5/tools/

# Run the security script on start
CMD sleep 10 && /usr/share/elasticsearch/plugins/search-guard-5/tools/sgadmin.sh \
        -cd /usr/share/elasticsearch/plugins/search-guard-5/sgconfig/ \
        -cn SHU \
        -ks /usr/share/elasticsearch/config/node-keystore.jks \
        -kspass Chupacabra \
        -ts /usr/share/elasticsearch/config/truststore.jks \
        -tspass Chupacabra \
        -nhnv
EN

回答 1

Stack Overflow用户

发布于 2017-04-05 23:17:00

我们能够让它工作起来。我们只需要在Dockerfile文件的末尾将脚本添加到CMD命令中,这样它就可以在ElasticSearch启动脚本之后运行。

看起来每个文件只能有一个命令,所以我们必须查看基本弹性映像(ElasticSearch Docker GitHub)并添加到其中。

CMD "/bin/bash","bin/es-docker","search-guard/run-sgadmin.sh“

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43235016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档