<p>a documentação da rede de composição de arquivo parece estar errada</p>

Criado em 30 mar. 2016  ·  3Comentários  ·  Fonte: docker/compose

Em https://docs.docker.com/compose/compose-file/#networks, as redes são especificadas como:

networks:
  - some-network
  - other-network

Usando docker-compose version 1.6.2, build 4d72027 e um arquivo da versão 2, recebo este erro:

ERROR: In file './docker-compose.yml', network must be a mapping, not an array.

A sintaxe correta parece ser:

networks:
  some-network:
  other-network:
areconfig kinquestion

Comentários muito úteis

É confuso, mas existem duas chaves networks :

  • networks no nível superior do arquivo Compose. Deve ser sempre um mapeamento.
  • networks dentro de uma definição de serviço. Isso pode ser um mapeamento ou uma matriz.

Aqui está um exemplo:

version: "2"

services:
  web:
    build: .
    networks:
      - foo

networks:
  foo:

Todos 3 comentários

É confuso, mas existem duas chaves networks :

  • networks no nível superior do arquivo Compose. Deve ser sempre um mapeamento.
  • networks dentro de uma definição de serviço. Isso pode ser um mapeamento ou uma matriz.

Aqui está um exemplo:

version: "2"

services:
  web:
    build: .
    networks:
      - foo

networks:
  foo:

sim, parece que você está certo. obrigado mesmo assim.

Obrigado Hendrik-H você resolveu meu problema. Eles realmente deveriam documentar isso melhor. Eu tinha várias redes definidas com um endereço IP e continuava me dando o erro.

Definição original
redes:
- rcon01:
ipv4_address: 172.40.1.2
- rnet50
Deu:
ERRO: o arquivo Compose './docker-compose.yaml' é inválido porque:
services.r3.networks contém {"rcon01": {"ipv4_address": "172.40.1.2"}}, que é um tipo inválido, deve ser uma string

Nova definição funciona:

redes:
rcon01:
ipv4_address: 172.40.1.2
rnet50:

Esta página foi útil?
0 / 5 - 0 avaliações