基于Elastic官方镜像
注意:配置文件不是动态重载的,改了配置文件之后你需要重启一次docker服务.
默认配置文件在 kibana/config/kibana.yml
.
也可以映射整个“config”目录,而不是单个文件.
默认配置文件在 logstash/config/logstash.yml
.
默认配置文件在 elasticsearch/config/elasticsearch.yml
.
还可以通过环境变量直接指定要覆盖的选项
elasticsearch:
environment:
network.host: "_non_loopback_"
cluster.name: "my-cluster"
在Elasticsearch中存储的数据将在容器重启后持久化,而不是在容器移除后持久化。 如果你希望在容器移除后数据依然还在,需要挂在一个数据圈到容器中
elasticsearch:
volumes:
- /path/to/storage:/usr/share/elasticsearch/data
数据将会持久化到本地的 /path/to/storage
目录
Elasticsearch和Logstash的启动脚本可以从环境的值追加额外的JVM选项 变量,允许用户调整每个组件可以使用的内存量
Service | Environment variable |
---|---|
Elasticsearch | ES_JAVA_OPTS |
Logstash | LS_JAVA_OPTS |
为了适应内存不足的环境(默认情况下,Mac的Docker只有2gb可用),需要使用堆大小 默认情况下,“docker-compos”中的每个服务的分配上限为256MB。yml文件。如果要重写 默认JVM配置,在“docker- composition”中编辑匹配的环境变量。yml文件。 例如,要增加Logstash的最大JVM堆大小:
logstash:
environment:
LS_JAVA_OPTS: "-Xmx1g -Xms1g"
注意:如果您切换了分支或更新了基本映像,您可能需要先运行docker-compose build
###开始构建
$ docker-compose build
$ docker-compose up