<p>Сетевая документация для создания файлов кажется неправильной</p>

Созданный на 30 мар. 2016  ·  3Комментарии  ·  Источник: docker/compose

На 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:
areconfig kinquestion

Самый полезный комментарий

Это сбивает с толку, но есть два разных ключа networks :

  • networks на верхнем уровне файла Compose. Это всегда должно быть отображение.
  • networks внутри определения службы. Это может быть отображение или массив.

Вот пример:

version: "2"

services:
  web:
    build: .
    networks:
      - foo

networks:
  foo:

Все 3 Комментарий

Это сбивает с толку, но есть два разных ключа networks :

  • networks на верхнем уровне файла Compose. Это всегда должно быть отображение.
  • networks внутри определения службы. Это может быть отображение или массив.

Вот пример:

version: "2"

services:
  web:
    build: .
    networks:
      - foo

networks:
  foo:

да, похоже, вы правы. Спасибо, в любом случае.

Спасибо, Hendrik-H, вы решили мою проблему. Они действительно должны лучше документировать это. У меня было несколько сетей, определенных с IP-адресом, и он продолжал выдавать мне ошибку.

Исходное определение
сети:
- rcon01:
ipv4_address: 172.40.1.2
- rnet50
Отдал:
ОШИБКА: файл Compose './docker-compose.yaml' недействителен, потому что:
services.r3.networks содержит {"rcon01": {"ipv4_address": "172.40.1.2"}}, который является недопустимым типом, это должна быть строка

Новое определение работает:

сети:
rcon01:
ipv4_address: 172.40.1.2
rnet50:

Была ли эта страница полезной?
0 / 5 - 0 рейтинги