Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

erro de versão

Estou usando o docker no linux e ao buildar o docker-compose da o seguinte erro

ERROR: The Compose file './docker-compose.yml' is invalid because:
Additional properties are not allowed ('node1', 'mongodb', 'node3', 'node2' were unexpected)

You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
6 respostas

Oi Renato, a primeira linha do seu docker compose precisa informar a versão da especificação.

version: '3'

Mas estava assim antes, e mesmo assim ainda continua o erro

Cola o código do seu docker-compose.yml aqui pra gente ver?

version: '3'
services:
  nginx:
    build:
      dockerfile: ./docker/nginx.dockerfile
      context: .
    image: renato/nginx
    container_name: nginx
    ports:
      - "80:80"
    networks: 
      - production-network
    depends_on:
      - "node1"
      - "node2"
      - "node3"

mongodb:
  image: mongo
  networks: 
    - production-network

node1:
  build:
    dockerfile: ./docker/alura-books.dockerfile
    context: .
    image: douglasq/alura-books
    container_name: alura-books1
    ports:
      - "3000"
    networks: 
      - production-network
    depends_on:
      - "mongodb"

node2:
  build:
    dockerfile: ./docker/alura-books.dockerfile
    image: douglasq/alura-books
    container_name: alura-books2
    context: .
    ports:
      - "3000"
    networks: 
      - production-network
    depends_on:
      - "mongodb"

node3:
  build:
    dockerfile: ./docker/alura-books.dockerfile
    context: .
    image: douglasq/alura-books
    container_name: alura-books3
    ports:
      - "3000"
    networks: 
      - production-network
    depends_on:
      - "mongodb"

networks:
    production-network:
      driver: bridge
solução!

Renato, acho que o problema é a questão da formatação do arquivo. O arquivo YML é bem restritivo, você precisa seguir exatamente a indentação, veja que o serviço do nginx você indentou corretamente, mas o mongo e o node estão mais pra trás, o que torna seu arquivo inválido.

Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software