我在filebeat.yml中使用env变量,它无法解析变量。
output.elasticsearch:
hosts: [$ELASTICSEARCH_HOST]
template:
name: "filebeat"
path: "fields.yml"
overwrite: false
protocol: "http"
version: "3.5"
services:
filebeat:
build:
context: ./filebeat
args:
ELK_VERSION: $ELK_VERSION
volumes:
- "/var/lib/docker/containers:/usr/share/dockerlogs/data:ro"
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
default:
name: filebeat-nw
external: true
我将变量$ ELASTICSEARCH_HOST导出到环境变量。但是它无法解析文档。
我使用命令“docker-compose up --build”运行容器作为服务
我想了解如何在filebeat.yml文件中使用环境变量。
谢谢。
每个变量引用在启动时由环境变量的值替换。替换是区分大小写的,并且在解析YAML文件之前发生。除非指定默认值,否则对未定义变量的引用将替换为空字符串。要指定默认值,请使用:
$ {VAR:DEFAULT_VALUE}
完整的文档是here