【问题标题】:Passing Elasticsearch and Kibana config file to docker containers将 Elasticsearch 和 Kibana 配置文件传递给 docker 容器
【发布时间】:2015-06-18 21:56:23
【问题描述】:

我找到了一个 docker 镜像 devdb/kibana,它运行 Elasticsearch 1.5.2Kibana 4.0.2。但是我想将Elasticsearch(即elasticsearch.yml)和Kibana(即config.js)的配置文件传递到这个docker容器中

我可以用这张图片本身来做吗?还是为此我必须构建一个单独的 docker 容器?

【问题讨论】:

    标签: elasticsearch docker kibana kibana-4


    【解决方案1】:

    我可以用这张图片本身做吗?

    是的,只需使用Docker volumes 传入您自己的配置文件

    假设您的 docker 主机上有以下文件:

    • /home/liv2hak/elasticsearch.yml
    • /home/liv2hak/kibana.yml

    然后您可以使用以下命令启动您的容器:

    docker run -d --name kibana -p 5601:5601 -p 9200:9200 \
        -v /home/liv2hak/elasticsearch.yml:/opt/elasticsearch/config/elasticsearch.yml \
        -v /home/liv2hak/kibana.yml:/opt/kibana/config/kibana.yml \
        devdb/kibana
    

    我能够通过查看您的图像 Dockerfile 父级来解决这个问题,它们是:devdb/kibanadevdb/elasticsearchabh1nav/java7abh1nav/baseimagephusion/baseimage 并查看devdb/kibana 容器:docker run --rm -it devdb/kibana find /opt -type f -name *.yml


    或者为此我必须构建一个单独的 docker 容器?

    我假设您的意思是构建一个单独的 docker 映像?。这也可以,例如以下 Dockerfile 会这样做:

    FROM devdb/kibana
    COPY elasticsearch.yml /opt/elasticsearch/config/elasticsearch.yml
    COPY kibana.yml /opt/kibana/config/kibana.yml
    

    现在构建镜像:docker build -t liv2hak/kibana .

    然后运行它:docker run -d --name kibana -p 5601:5601 -p 9200:9200 liv2hak/kibana

    【讨论】:

    • 我发现了另一个问题。我正在打开 docker_ip:5601 - 它说在我运行 sudo docker run -d devdb/kibana 后网页不可用连接被拒绝。还有什么我需要做的吗?也许是端口映射?
    • 那应该是另一个问题
    • 如果我愿意,单个图像是否会限制我以后创建 elasticsearch 集群的能力?
    • 我不确定你是否明白你在问什么。你的意思是单个容器吗? Docker 镜像不运行,它们是容器蓝图,您可以从中运行多个容器。
    猜你喜欢
    • 2021-06-03
    • 2017-05-22
    • 1970-01-01
    • 2020-06-23
    • 2021-10-16
    • 2019-05-25
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多