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

Passing Elasticsearch and Kibana config file to docker containers

我找到了运行 Elasticsearch 1.5.2Kibana 4.0.2 的 docker 图像 devdb/kibana。但是,我想将 Elasticsearch(即 elasticsearch.yml)和 Kibana(即 config.js)[=16= 的配置文件传递给此 docker 容器]

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

Can I do that with this image itself?

是的,只需使用 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.


Or for that would I have to build a separate docker container?

我假设你的意思是 构建一个单独的 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