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

Far*_*igo 5 yaml docker docker-compose

正如 docker 文档建议的那样,docker-compose 文件中的布尔值应该用单引号引起来,以避免 YAML 解析器的误解。我有 docker-compose 文件,它使用调用它的 shell 的环境变量填充一些值

myservice:
  environment:
    - firstvar: ${MY_FIRST_VAL}
    - ...
    - booleanvar: ${MY_BOOLEAN_VAL} 
Run Code Online (Sandbox Code Playgroud)

MY_BOOLEAN_VAL可以是trueorfalse并且通过配置文件公开。我尝试过'${MY_BOOLEAN_VAL}'"${MY_BOOLEAN_VAL}"而不是${MY_BOOLEAN_VAL} 希望docker stack deploy强制使用类似 bash 的机制来中和 YAML 解析器,但没有成功。

如何使用环境变量传递布尔值来撰写文件?

Siy*_*iyu 6

我相信您混淆了语法,请尝试:

environment:
  - booleanvar=${MY_BOOLEAN_VAL}
Run Code Online (Sandbox Code Playgroud)

或者

environment:
  booleanvar: ${MY_BOOLEAN_VAL}
Run Code Online (Sandbox Code Playgroud)