将Elasticsearch和Kibana配置文件传递给docker容器

liv*_*hak 3 elasticsearch docker kibana kibana-4

我找到了一个运行和的docker image devdb/kibana.但是我想将这两个配置文件传递给这个docker容器(即elasticsearch.yml)和(即config.js)Elasticsearch 1.5.2Kibana 4.0.2ElasticsearchKibana

我可以用这个图像本身吗?或者为此我必须建立一个单独的docker容器?

Tho*_*eil 9

我可以用这个图像本身吗?

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

假设您在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
Run Code Online (Sandbox Code Playgroud)

我能够通过查看你的图像Dockerfile父母来解决这个问题:devdb/kibanadevdb/elasticsearchabh1nav/java7abh1nav/baseimagephusion/baseimage ,还可以看一下devdb/kibana容器:docker run --rm -it devdb/kibana find /opt -type f -name *.yml.


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

我假设你的意思是建立一个单独的泊坞窗图像?.这也可以,例如以下Dockerfile会这样做:

FROM devdb/kibana
COPY elasticsearch.yml /opt/elasticsearch/config/elasticsearch.yml
COPY kibana.yml /opt/kibana/config/kibana.yml
Run Code Online (Sandbox Code Playgroud)

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

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