【问题标题】:docker-compose: How to pass secret to environment variable in logstash?docker-compose:如何将秘密传递给logstash中的环境变量?
【发布时间】:2020-09-29 23:12:53
【问题描述】:

我在 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-compose environment-variables logstash elastic-stack


    【解决方案1】:

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

    【讨论】:

    • 我已经检查过了。也许我遗漏了一些东西,但据我了解,当环境变量名称以“FILE”结尾时,logstash 的官方图像应该获取文件的内容。但是,它不是那样工作的。
    • 嗨@ankitmhhatre。在发布指向外部资源的链接时,您还应该引用引用材料中最相关的部分。链接经常断开。见stackoverflow.com/help/how-to-answer
    猜你喜欢
    • 2020-11-07
    • 2021-12-06
    • 2018-08-23
    • 2020-02-23
    • 2019-06-06
    • 2021-11-27
    • 2017-09-18
    • 2019-06-18
    相关资源
    最近更新 更多