问题:以下内容返回“服务'图像'必须是映射而不是字符串”。 我尝试使用YAML Parser(http://yaml-online-parser.appspot.com/),但未返回任何错误。
version:
"2.0"
services:
blog:
image:
abc/defg
environment:
APPLICATION_SECRET:
82xxxxxxx
ports: -"9000:9000"
工作版本:
version: "2.1"
services:
blog:
image: abc/defg
environment:
APPLICATION_SECRET:
82xxx
ports:
- "9000:9000"
networks:
default:
external:
name: nat
答案 0 :(得分:1)
如果您查看从online parser获得的Python输出,则可以看到
'ports': '-"9000:9000"'
看起来不像端口号列表。
序列元素由一个破折号和一个空格表示,如果您在ports
后的破折号后输入该空格,则该空格:
ports: - "9000:9000"
您实际上确实会出错,因为作为值的块序列不能在键之后开始,而必须在它们自己的行上开始:
ports:
- "9000:9000"
尽管序列中的元素必须缩进,但连字符不一定必须缩进,只需将其与元素分隔至少一个空格即可。