`` `` version docker-compose
docker-compose version 1.11.2, build dfed245
version docker-py: 2.1.0
Version CPython: 2.7.5
Version OpenSSL: OpenSSL 1.0.1e-fips 11 février 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
Il semble que si l'un des éléments de "services.xxx.networks" est une chaîne (dans ce cas, "IntNet"), il s'attend à ce que tous les éléments soient une chaîne.
Serait-il possible de changer "services.xxx.networks" pour attendre un tuple?
En fait, cette deuxième configuration est également incorrecte. networks
est soit une liste de chaînes, soit un mappage (c'est le nom de YAML pour dict
de python). https://docs.docker.com/compose/compose-file/compose-file-v2/#networks
Par exemple, voici un format valide pour la configuration souhaitée:
services:
xxx:
image: xxx:latest
networks:
ExtNet:
ipv4_address: 192.168.1.11
IntNet: {}
Cool ça marche. Merci beaucoup :)
Commentaire le plus utile
En fait, cette deuxième configuration est également incorrecte.
networks
est soit une liste de chaînes, soit un mappage (c'est le nom de YAML pourdict
de python). https://docs.docker.com/compose/compose-file/compose-file-v2/#networksPar exemple, voici un format valide pour la configuration souhaitée: