Docker 撰写 3 多行

Docker Compose 3 multiline

为什么这不适用于 docker compose 版本 3?

nginx:
   image: nginx
   container_name: nginx
   environment:
       VIRTUAL_HOST: > 
       proj1.local,proj2.local,
       proj3.local,proj4.local,proj5.local

我有很多虚拟主机,我需要使用 multilne,但我收到:

ERROR: yaml.scanner.ScannerError: while scanning a simple key
  in "./docker-compose.yml", line 31, column 7
could not find expected ':'
  in "./docker-compose.yml", line 32, column 7

我做错了什么?

Yamllint 等工具是您遇到此类错误时的好帮手。也就是说,它有时在验证失败时不会给您一个有意义的错误。

您在示例中遇到的是缩进问题。你应该使用:

nginx:
  image: nginx
  container_name: nginx
  environment:
    VIRTUAL_HOST: > 
      proj1.local,proj2.local,
      proj3.local,proj4.local,proj5.local

这将转化为:

nginx: 
  container_name: nginx
  environment: 
    VIRTUAL_HOST: "proj1.local,proj2.local, proj3.local,proj4.local,proj5.local"
  image: nginx