将 Elasticsearch 和 Kibana 配置文件传递给 docker 个容器
Passing Elasticsearch and Kibana config file to docker containers
我找到了运行 Elasticsearch 1.5.2
和 Kibana 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/kibana→devdb/elasticsearch→abh1nav/java7→abh1nav/baseimage→phusion/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
我找到了运行 Elasticsearch 1.5.2
和 Kibana 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/kibana→devdb/elasticsearch→abh1nav/java7→abh1nav/baseimage→phusion/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