在https://docs.docker.com/compose/compose-file/#networks上,网络指定为:
networks:
- some-network
- other-network
使用docker-compose version 1.6.2, build 4d72027
和版本2文件,我收到此错误:
ERROR: In file './docker-compose.yml', network must be a mapping, not an array.
正确的语法似乎是:
networks:
some-network:
other-network:
令人困惑,但是有两个不同的networks
键:
networks
位于Compose文件的顶层。 这必须始终是映射。networks
。 这可以是映射或数组。这是一个例子:
version: "2"
services:
web:
build: .
networks:
- foo
networks:
foo:
是的,看起来你是对的。 不管怎么说,还是要谢谢你。
感谢Hendrik-H,您解决了我的问题。 他们确实应该记录得更好。 我用IP地址定义了多个网络,但该网络不断出现错误。
原始定义
网络:
-rcon01:
ipv4_address:172.40.1.2
-rnet50
给予:
错误:撰写文件“ ./docker-compose.yaml”无效,因为:
services.r3.networks包含{“ rcon01”:{“ ipv4_address”:“ 172.40.1.2”}},这是无效的类型,应为字符串
新定义有效:
网络:
rcon01:
ipv4_address:172.40.1.2
rnet50:
最有用的评论
令人困惑,但是有两个不同的
networks
键:networks
位于Compose文件的顶层。 这必须始终是映射。networks
。 这可以是映射或数组。这是一个例子: