`` `Docker-Compose-Version
Docker-Compose Version 1.11.2, Build dfed245
Docker-Py-Version: 2.1.0
CPython-Version: 2.7.5
OpenSSL-Version: OpenSSL 1.0.1e-fips 11. Februar 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
Wenn eines der Elemente in "services.xxx.networks" eine Zeichenfolge ist (in diesem Fall "IntNet"), wird erwartet, dass alle Elemente eine Zeichenfolge sind.
Wäre es möglich, "services.xxx.networks" so zu ändern, dass ein Tupel erwartet wird?
Tatsächlich ist auch diese zweite Konfiguration falsch. networks
ist entweder eine Liste von Zeichenfolgen oder eine Zuordnung (das ist YAMLs Name für Pythons dict
). https://docs.docker.com/compose/compose-file/compose-file-v2/#networks
Hier ist beispielsweise ein gültiges Format für Ihre gewünschte Konfiguration:
services:
xxx:
image: xxx:latest
networks:
ExtNet:
ipv4_address: 192.168.1.11
IntNet: {}
Cool das funktioniert. Ich danke dir sehr :)
Hilfreichster Kommentar
Tatsächlich ist auch diese zweite Konfiguration falsch.
networks
ist entweder eine Liste von Zeichenfolgen oder eine Zuordnung (das ist YAMLs Name für Pythonsdict
). https://docs.docker.com/compose/compose-file/compose-file-v2/#networksHier ist beispielsweise ein gültiges Format für Ihre gewünschte Konfiguration: