docker-compose版本
docker-compose版本1.11.2,构建dfed245
docker-py版本:2.1.0
CPython版本:2.7.5
OpenSSL版本:OpenSSL 1.0.1e-fips 2013年2月11日
```uname -srvmpio
Linux 3.10.0-514.6.1.el7.x86_64 #1 SMP Wed Jan 18 13:06:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux```
version: '2.1'
services:
xxx:
image: xxx:latest
networks:
- ExtNet:
ipv4_address: 192.168.1.11
- IntNet
networks:
ExtNet:
driver: macvlan
driver_opts:
parent: enp3s0
ipam:
config:
- gateway: 192.168.1.1
ip_range: 192.168.1.10/28
subnet: 192.168.1.0/24
IntNet:
internal: True
driver: bridge
ipam:
config:
- ip_range: 10.0.0.0/16
subnet: 10.0.0.0/16
services.xxx.networks contains {"ExtNet": {"ipv4_address": "192.168.1.11"}}, which is an invalid type, it should be a string
# Tried docker compose yaml version 2.0, 2.1 and 3.0.
services:
xxx:
image: xxx:latest
networks:
- ExtNet:
ipv4_address: 192.168.1.11
看来,如果“ services.xxx.networks”中的一项是字符串(在本例中为“ IntNet”),则它期望所有项都是字符串。
可以更改“ services.xxx.networks”以期望元组吗?
实际上,第二种配置也不正确。 networks
是字符串列表或映射(这是python的dict
的YAML名称)。 https://docs.docker.com/compose/compose-file/compose-file-v2/#networks
例如,这是您所需配置的有效格式:
services:
xxx:
image: xxx:latest
networks:
ExtNet:
ipv4_address: 192.168.1.11
IntNet: {}
很酷的作品。 非常感谢 :)
最有用的评论
实际上,第二种配置也不正确。
networks
是字符串列表或映射(这是python的dict
的YAML名称)。 https://docs.docker.com/compose/compose-file/compose-file-v2/#networks例如,这是您所需配置的有效格式: