在 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 开始脚本支持呢?

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

script.inline: on
script.indexed: on

如何更改 Docker 映像中的配置文件?

生成包含这些选项的自定义映像。

为 docker 映像创建目录

mkdir my_elasticsearch
cd my_elasticsearch

创建一个包含所有选项的elasticsearch.yml,包括

script.inline: on
script.indexed: on

创建复制配置文件的Dockerfile

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

生成和标记映像

docker build -t my/elasticsearch .

然后运行映像

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

你可能希望将映像发布到 Docker 中心或其他注册表,因此只需生成一次。

您还可以使用 docker-compose 来管理生成过程和多个容器。

一种方法是通过从官方 elasticsearch 镜像开始的 Dockerfile 创建自己的 elasticsearch 镜像。

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

这样,您的镜像就可以启动一个预先设置正确配置的 elasticsearch 容器。

最新更新