`` versi docker-compose
docker-compose versi 1.11.2, build dfed245
versi docker-py: 2.1.0
Versi CPython: 2.7.5
Versi OpenSSL: OpenSSL 1.0.1e-fips 11 Feb 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
Tampaknya jika salah satu item di "services.xxx.networks" adalah string (dalam hal ini, "IntNet"), semua item tersebut diharapkan menjadi string.
Apakah mungkin untuk mengubah "services.xxx.networks" untuk mengharapkan tuple?
Sebenarnya, konfigurasi kedua itu juga salah. networks
bisa berupa daftar string atau pemetaan (itulah nama YAML untuk python dict
). https://docs.docker.com/compose/compose-file/compose-file-v2/#networks
Misalnya, berikut adalah format yang valid untuk konfigurasi yang Anda inginkan:
services:
xxx:
image: xxx:latest
networks:
ExtNet:
ipv4_address: 192.168.1.11
IntNet: {}
Keren itu berhasil. Terima kasih banyak :)
Komentar yang paling membantu
Sebenarnya, konfigurasi kedua itu juga salah.
networks
bisa berupa daftar string atau pemetaan (itulah nama YAML untuk pythondict
). https://docs.docker.com/compose/compose-file/compose-file-v2/#networksMisalnya, berikut adalah format yang valid untuk konfigurasi yang Anda inginkan: