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

Erros com relação ao docker-compose

Estou tendo vários erros na hora de rodar o docker-compose, geralmente nos campos. todas as vezes que rodo o compose, aparece um erro em um campo diferente. já refiz o redigo várias vezes na mão e nada.

ERROR: The Compose file '.\docker-compose.yml' is invalid because: services.node1.build contains unsupported option: 'depends_on'

ERROR: The Compose file '.\docker-compose.yml' is invalid because: services.node1.build contains unsupported option: 'container_name'

ERROR: The Compose file '.\docker-compose.yml' is invalid because: services.node1.build contains unsupported option: 'image'

version: '3'
services:
    nginx:
        build:
            dockerfile: ./docker/nginx.dockerfile
            context: .
        image: douglasq/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-books-1
            ports:
                - "3000"
            networks:
                - production-network
            depends_on:
                - "mongodb"
    node2:
        build:
            dockerfile: ./docker/alura-books.dockerfile
            context: .
        image: douglasq/alura-books
        container_name: alura-books-2
        ports:
            - "3000"
        networks:
            - production-network
        depends_on:
            - "mongodb"
    node3:
        build:
            dockerfile: ./docker/alura-books.dockerfile
            context: .
        image: douglasq/alura-books
        container_name: alura-books-3
        ports:
            - "3000"
        networks:
            - production-network
        depends_on:
            - "mongodb"
networks:
    production-network:
        driver: bridge
2 respostas
solução!

O erro estava no node 1, onde os campos não estavam alinhados com o buid.

segue o código consertado:

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

Olá Marcio, tudo bem? O código está correto, porém esse tipo de arquivo é muito rigoso quando ao espaçamento, você poderia tentar executar com dois espaços a apenas, como nesse caso:

version: '3'
services:
  nginx:
    build:
      dockerfile: ./docker/nginx.dockerfile
      context: .
    image: douglasq/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-books-1
    ports:
      - "3000"
    networks: 
      - production-network
    depends_on:
      - "mongodb"

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

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

networks:
  production-network:
    driver: bridge

E também você pode informar pra gente qual as versões do Docker e do Docker-Compose que você está utilizando?