赞
踩
Docker Compose 文件是一个 YAML 文件,其中的引号规则遵循 YAML 语法规则。以下是几个在 YAML 中使用引号的场景:
当字符串中包含特殊字符时,需要使用引号。这些特殊字符包括但不限于:冒号 :
,井号 #
,星号 *
,问号 ?
,破折号 -
,>
,|
等。例如:
environment:
- "SOME_VAR=value:value"
当字符串中包含 YAML 保留字(如 true
, false
, null
, yes
, no
, on
, off
),并且你希望它们被当作字符串而不是布尔值或空值处理时,需要使用引号。例如:
environment:
- "SOME_VAR=true"
当字符串的值以数字开头时,建议使用引号,以避免它们被误解析为其他类型。例如:
environment:
- "SOME_VAR=123abc"
当字符串的值是 JSON 或者其他复杂结构时,为了避免解析错误,也需要用引号包裹。例如:
labels:
- "traefik.http.routers.my-container.rule=Host(`my-container.docker.localhost`)"
注意,YAML 中既可以使用单引号 '
,也可以使用双引号 "
, 但它们的行为是不同的。单引号会保留所有字符串中的特殊字符,而双引号允许转义序列(如 \n
代表新行)。
总的来说,虽然在很多情况下加不加引号都可以,但是为了避免可能的解析错误,建议在编写 YAML 文件时,总是使用引号来包裹字符串值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。