Di https://docs.docker.com/compose/compose-file/#networks, jaringan ditetapkan sebagai:
networks:
- some-network
- other-network
Menggunakan docker-compose version 1.6.2, build 4d72027
dan file versi 2 saya mendapatkan kesalahan ini:
ERROR: In file './docker-compose.yml', network must be a mapping, not an array.
Sintaks yang benar tampaknya:
networks:
some-network:
other-network:
Ini membingungkan, tetapi ada dua kunci networks
berbeda:
networks
di level teratas file Tulis. Ini harus selalu menjadi pemetaan.networks
di dalam definisi layanan. Ini bisa berupa pemetaan atau larik.Berikut contohnya:
version: "2"
services:
web:
build: .
networks:
- foo
networks:
foo:
ya, sepertinya Anda benar. terima kasih.
Terima kasih Hendrik-H Anda menyelesaikan masalah saya. Mereka benar-benar harus mendokumentasikannya dengan lebih baik. Saya memiliki beberapa jaringan yang ditentukan dengan alamat IP dan itu terus memberi saya kesalahan.
Definisi asli
jaringan:
- rcon01:
ipv4_address: 172.40.1.2
- rnet50
Memberi:
EROR: File Tulis './docker-compose.yaml' tidak valid karena:
services.r3.networks berisi {"rcon01": {"ipv4_address": "172.40.1.2"}}, yang merupakan jenis yang tidak valid, harus berupa string
Definisi baru bekerja:
jaringan:
rcon01:
ipv4_address: 172.40.1.2
rnet50:
Komentar yang paling membantu
Ini membingungkan, tetapi ada dua kunci
networks
berbeda:networks
di level teratas file Tulis. Ini harus selalu menjadi pemetaan.networks
di dalam definisi layanan. Ini bisa berupa pemetaan atau larik.Berikut contohnya: