`` versión docker-compose
docker-compose versión 1.11.2, compilación dfed245
versión de docker-py: 2.1.0
Versión de CPython: 2.7.5
Versión de OpenSSL: OpenSSL 1.0.1e-fips 11 de febrero de 2013
```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
Parece que si uno de los elementos de "services.xxx.networks" es una cadena (en este caso, "IntNet"), espera que todos los elementos sean una cadena.
¿Sería posible cambiar "services.xxx.networks" para esperar tupla?
En realidad, esa segunda configuración también es incorrecta. networks
es una lista de cadenas o una asignación (ese es el nombre de YAML para dict
de python). https://docs.docker.com/compose/compose-file/compose-file-v2/#networks
Por ejemplo, aquí hay un formato válido para la configuración deseada:
services:
xxx:
image: xxx:latest
networks:
ExtNet:
ipv4_address: 192.168.1.11
IntNet: {}
Genial que funciona. Muchas gracias :)
Comentario más útil
En realidad, esa segunda configuración también es incorrecta.
networks
es una lista de cadenas o una asignación (ese es el nombre de YAML paradict
de python). https://docs.docker.com/compose/compose-file/compose-file-v2/#networksPor ejemplo, aquí hay un formato válido para la configuración deseada: