docker-compose.yml中的内容什么时候要加引号?

Docker Compose 文件是一个 YAML 文件,其中的引号规则遵循 YAML 语法规则。以下是几个在 YAML 中使用引号的场景:

  1. 当字符串中包含特殊字符时,需要使用引号。这些特殊字符包括但不限于:冒号 :,井号 #,星号 *,问号 ?,破折号 ->| 等。例如:

    environment:
      - "SOME_VAR=value:value"
    
  2. 当字符串中包含 YAML 保留字(如 true, false, null, yes, no, on, off),并且你希望它们被当作字符串而不是布尔值或空值处理时,需要使用引号。例如:

    environment:
      - "SOME_VAR=true"
    
  3. 当字符串的值以数字开头时,建议使用引号,以避免它们被误解析为其他类型。例如:

    environment:
      - "SOME_VAR=123abc"
    
  4. 当字符串的值是 JSON 或者其他复杂结构时,为了避免解析错误,也需要用引号包裹。例如:

    labels:
      - "traefik.http.routers.my-container.rule=Host(`my-container.docker.localhost`)"
    

注意,YAML 中既可以使用单引号 ',也可以使用双引号 ", 但它们的行为是不同的。单引号会保留所有字符串中的特殊字符,而双引号允许转义序列(如 \n 代表新行)。

总的来说,虽然在很多情况下加不加引号都可以,但是为了避免可能的解析错误,建议在编写 YAML 文件时,总是使用引号来包裹字符串值。

猜你喜欢

转载自blog.csdn.net/m0_57236802/article/details/131621349