【问题标题】:Docker compose .env file array variableDocker 撰写 .env 文件数组变量
【发布时间】:2017-04-18 10:24:07
【问题描述】:

我使用 docker-compose,并且我使用带有本地变量的 env 文件。 我需要传递数组变量。 我试过了:

TAGS="12345","67890"

TAGS=["12345","67890"]

TAGS=("12345" "67890")

我总是出错:

List(WrongType(STRING,Set(LIST, OBJECT),Some(ConfigValueLocation(file:/src/target/scala-2.12/classes/application.conf,86))

知道如何实现吗?

【问题讨论】:

  • docker-compose.yml 不支持数组类型,您可能希望将其添加为逗号分隔字符串,并将其作为逗号分解为不同的元素(使用 bash 脚本)。

标签: arrays docker-compose dockerfile


【解决方案1】:

如上Confidence,写一个逗号分隔的字符串:

TAGS=12345,67890

然后在您的应用程序中(例如 Python):

os.getenv('TAGS').split(',')

【讨论】:

    【解决方案2】:

    使用 Spring Boot 框架,这可以通过 SPRING_APPLICATION_JSON 属性来实现:

    services:
      my-app:
        image: my-app:latest
        environment:
          - SPRING_APPLICATION_JSON={
              "TAGS":[12345,67890]
            }
        ports:
          - "8080:8080"
    

    【讨论】:

    • 您不需要像- |- > 这样的东西来使多行工作吗?
    • 不,我也想知道自己,但这就像在我的 docker-compose.yml 中一样。其他一切都不起作用,比如开始 '"。我有这个目前正在运行。 (带有数组中的子对象)。
    猜你喜欢
    • 2018-12-10
    • 2017-09-12
    • 2021-01-03
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    相关资源
    最近更新 更多