Docker Compose 中环境文件的语法
本页提供有关使用.env
文件时的语法规则和指南的信息。它定义了注释规则,并解释了如何处理值。此外,它还引入了插值的概念,允许在环境文件中使用变量。
重要的
句法
以下语法规则适用于环境文件:
- 以 开头的行将
#
作为注释处理并被忽略。 - 空行将被忽略。
- 不带引号和双引号 (
"
) 值应用了 插值。 - 每行代表一个键值对。可以选择引用值。
VAR=VAL
->VAL
VAR="VAL"
->VAL
VAR='VAL'
->VAL
- 未加引号的值的内联注释前面必须有一个空格。
VAR=VAL # comment
->VAL
VAR=VAL# not a comment
->VAL# not a comment
- 引用值的内嵌注释必须位于结束引用之后。
VAR="VAL # not a comment"
->VAL # not a comment
VAR="VAL" # comment
->VAL
- 单引号 (
'
) 值按字面意思使用。VAR='$OTHER'
->$OTHER
VAR='${OTHER}'
->${OTHER}
- 引号可以用 转义
\
。VAR='Let\'s go!'
->Let's go!
VAR="{\"hello\": \"json\"}"
->{"hello": "json"}
- 双引号值支持常见的 shell 转义序列,包括
\n
、\r
、\t
和。\\
VAR="some\tvalue"
->some value
VAR='some\tvalue'
->some\tvalue
VAR=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 规范中的插值。