首页 > 解决方案 > docker-compose:如何将秘密传递给logstash中的环境变量?

问题描述

我在 docker swarm 上运行 elk stack,但 env 变量有问题。这是容器内的变量“ELASTIC_PASSWORD_FILE”。此变量由 Dockerfile 中的“ENV ELASTIC_PASSWORD_FILE elastic”创建。

bash-4.2$ export
declare -x ELASTIC_CONTAINER="true"
declare -x ELASTIC_PASSWORD_FILE="/run/secrets/elastic_password.txt"

我正在尝试通过执行以下操作通过 docker-compose 文件中的环境变量更改它的值:

secrets: 
  - source: elasticsearch_password
    target: /run/secrets/elasticsearch_password.txt
    mode: 0600
    uid: "1000"
    gid: "1000"
environment:
  - LS_JAVA_OPTS=-Xmx256m -Xms256m
  - ELASTIC_PASSWORD_FILE=/run/secrets/elastic_password.txt

如何将文件内容从 /run/secrets/elastic_password.txt 注入环境变量?

我正在运行 elk 7.7.0

标签: docker-composeenvironment-variableslogstashelastic-stack

解决方案


检查官方文档以使用配置并从您的文本文件中读取。


推荐阅读