https://docs.docker.com/compose/compose-file/#networksでは、ネットワークは次のように指定されています。
networks:
- some-network
- other-network
docker-compose version 1.6.2, build 4d72027
とバージョン2ファイルを使用すると、次のエラーが発生します。
ERROR: In file './docker-compose.yml', network must be a mapping, not an array.
正しい構文は次のようです。
networks:
some-network:
other-network:
紛らわしいですが、2つの異なるnetworks
キーがあります。
networks
。 これは常にマッピングである必要があります。networks
。 これは、マッピングまたは配列にすることができます。次に例を示します。
version: "2"
services:
web:
build: .
networks:
- foo
networks:
foo:
ええ、あなたが正しいように見えます。 とにかくありがとう。
Hendrik-Hに感謝します。私の問題を解決してくれました。 彼らは本当にそれをよりよく文書化する必要があります。 IPアドレスで複数のネットワークを定義しましたが、エラーが発生し続けました。
元の定義
ネットワーク:
--rcon01:
ipv4_address:172.40.1.2
--rnet50
与えた:
エラー:作成ファイル './docker-compose.yaml'は、次の理由で無効です。
services.r3.networksに{"rcon01":{"ipv4_address": "172.40.1.2"}}が含まれていますが、これは無効なタイプであり、文字列である必要があります
新しい定義は機能します:
ネットワーク:
rcon01:
ipv4_address:172.40.1.2
rnet50:
最も参考になるコメント
紛らわしいですが、2つの異なる
networks
キーがあります。networks
。 これは常にマッピングである必要があります。networks
。 これは、マッピングまたは配列にすることができます。次に例を示します。