将Elasticsearch和Kibanaconfiguration文件传递给docker容器

我find了一个运行Elasticsearch 1.5.2Kibana 4.0.2 docker镜像devdb / kibana 。 不过,我想传入这个docker容器的Elasticsearch (即Kibana )和Kibana (即config.js)的configuration文件,

我可以用这个图像本身吗? 或者为此,我必须build立一个单独的docker集装箱?

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

是的,只需要使用Docker卷来传递你自己的configuration文件

假设你在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 / kibana → devdb / elasticsearch → abh1nav / java7 → abh1nav / baseimage → phusion / baseimage ,也可以devdb/kibana容器: devdb/kibana docker run --rm -it devdb/kibana find /opt -type f -name *.yml


或者为此,我必须build立一个单独的docker集装箱?

我假定你的意思是build立一个单独的docker图像? 。 这也可以,例如下面的Dockerfile会这样做:

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

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

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