Docker Compose 中环境文件的语法
本页提供有关使用.env文件时的语法规则和指南的信息。它定义了注释规则,并解释了如何处理值。此外,它还引入了插值的概念,允许在环境文件中使用变量。
重要的
句法
以下语法规则适用于环境文件:
- 以 开头的行将
#作为注释处理并被忽略。 - 空行将被忽略。
- 不带引号和双引号 (
") 值应用了 插值。 - 每行代表一个键值对。可以选择引用值。
VAR=VAL->VALVAR="VAL"->VALVAR='VAL'->VAL
- 未加引号的值的内联注释前面必须有一个空格。
VAR=VAL # comment->VALVAR=VAL# not a comment->VAL# not a comment
- 引用值的内嵌注释必须位于结束引用之后。
VAR="VAL # not a comment"->VAL # not a commentVAR="VAL" # comment->VAL
- 单引号 (
') 值按字面意思使用。VAR='$OTHER'->$OTHERVAR='${OTHER}'->${OTHER}
- 引号可以用 转义
\。VAR='Let\'s go!'->Let's go!VAR="{\"hello\": \"json\"}"->{"hello": "json"}
- 双引号值支持常见的 shell 转义序列,包括
\n、\r、\t和。\\VAR="some\tvalue"->some valueVAR='some\tvalue'->some\tvalueVAR=some\tvalue->some\tvalue
插值法
Compose 支持环境文件中的插值。插值适用于不带引号和双引号的值。支持花括号 ( ${VAR}) 和不花括号 ( ) 表达式。$VAR
对于大括号表达式,支持以下格式:
- 直接替代
${VAR}-> 的值VAR
- 默认值
${VAR:-default}VAR->如果设置且非空的值,否则default${VAR-default}->VAR如果设置的值,否则default
- 所需值
${VAR:?error}VAR->如果设置且非空的值,否则错误退出${VAR?error}-> 如果设置了值VAR,否则错误退出
- 替代价值
${VAR:+replacement}->replacement如果VAR已设置且非空,否则为空${VAR+replacement}->replacement如果VAR已设置,否则为空
有关更多信息,请参阅 Compose 规范中的插值。