简体   繁体   English

使用环境变量在 docker-compose.yaml 中设置布尔值

[英]Setting boolean value in docker-compose.yaml using environment variable

As docker documentation suggests boolean values in a docker-compose file should be enclosed in single quotes to avoid misinterpretation by the YAML parser.由于 docker 文档建议docker-compose 文件中的布尔值应该用单引号引起来,以避免 YAML 解析器的误解。 I have docker-compose file that populates some of the values with environment variables of the shell where it gets invoked我有 docker-compose 文件,该文件使用调用它的 shell 的环境变量填充一些值

myservice:
  environment:
    - firstvar: ${MY_FIRST_VAL}
    - ...
    - booleanvar: ${MY_BOOLEAN_VAL} 

MY_BOOLEAN_VAL can be either true or false and is exposed via a config file. MY_BOOLEAN_VAL可以为truefalse ,并通过配置文件公开。 I tried '${MY_BOOLEAN_VAL}' and "${MY_BOOLEAN_VAL}" instead of ${MY_BOOLEAN_VAL} hoping for docker stack deploy to force a bash-like mechanism for neutralising the YAML parser to no avail.我尝试'${MY_BOOLEAN_VAL}'"${MY_BOOLEAN_VAL}"而不是${MY_BOOLEAN_VAL}希望 docker docker stack deploy强制使用类似 bash 的机制来中和 YAML 解析器,但无济于事。

How can I pass a boolean value using an environment variable to compose file?如何使用环境变量传递布尔值来编写文件?

I believe you've mixed up syntax, try:我相信您混淆了语法,请尝试:

environment:
  - booleanvar=${MY_BOOLEAN_VAL}

or或者

environment:
  booleanvar: ${MY_BOOLEAN_VAL}
environment:
  booleanvar: ${MY_BOOLEAN_VAL}

docker-compose <- v1 not working... docker-compose <- v1不工作...

use docker compose v2使用 docker compose v2

docker compose -f docker-compose.yaml down
docker compose -f docker-compose.yaml build
docker compose -f docker-compose.yaml up -d

https://github.com/confluentinc/kafka-images/issues/170 https://github.com/confluentinc/kafka-images/issues/170

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM