在Docker镜像中启用脚本

我可以使用以下2个docker命令来启动Kibana的elasticsearch …

docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch-pb elasticsearch docker run -d -p 5601:5601 --name kibana-pb --link elasticsearch-pb:elasticsearch -e ELASTICSEARCH_URL=http://elasticsearch:9200 kibana 

但是,如何使用docker启动脚本支持?

通常这是通过将2行添加到elasticsearch.yml文件来完成的。

 script.inline: on script.indexed: on 

如何更改Docker镜像中的configuration文件?

构build包含这些选项的自定义图像。

为您的泊坞窗图像创build一个目录

 mkdir my_elasticsearch cd my_elasticsearch 

创build一个包含所有选项的elasticsearch.yml

 script.inline: on script.indexed: on 

创build一个复制configuration文件的Dockerfile

 from elasticsearch copy elastcsearch.yml /container/path/to/elasticsearch.yml 

构build并标记图像

 docker build -t my/elasticsearch . 

然后运行你的图像

 docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch-pb my/elasticsearch 

您可能想要将图像发布到Docker Hub或其他registry,因此您只需构build一次。

您也可以使用docker-compose来pipe理构build过程和多个容器。

一种方法是通过从官方弹性search图像开始的Dockerfile来创build自己的弹性search图像 。

 FROM elasticsearch:5 COPY myconfig /path/to/elasticsearch.yml 

这样,您的图像可以启动一个预先设置了正确configuration的elasticsearch容器。