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

docker-compose build erro

Após executar o comando abaixo, da a seguinte mensagem de erro no terminal. Estou usando sistema Linux Ubuntu 20.04]

~/docker/alura-docker$ docker-compose build
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.mongodb.networks contains an invalid type, it should be an array, or an object
services.node1.networks contains an invalid type, it should be an array, or an object
Unsupported config option for services.node1: 'node2'

Arquivos da pasta:

~/docker/alura-docker$ ls
config  database.js  docker  docker-compose.yml  models  package.json  public  README.md  routes  server.js  views

~/docker/alura-docker$ docker-compose build ERROR: The Compose file './docker-compose.yml' is invalid because: services.mongodb.networks contains an invalid type, it should be an array, or an object services.node1.networks contains an invalid type, it should be an array, or an object Unsupported config option for services.node1: 'node2'

Abaixo segue o docker-compose.yml

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-docker
        container_name: alura-books-1
        ports:
            - "3000"
        networks:
            -production-network
        depends_on:
            - "mongodb"

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

        node3:
        build:
            dockerfile: ./docker/alura-books.dockerfile
            context: .
        image: douglasq/alura-docker
        container_name: alura-books-3
        ports:
            - "3000"
        networks:
            -production-network
        depends_on:
            - "mongodb"
networks:
    production-network:
        driver: bridge
3 respostas
solução!

Tem alguns espaçamentos errados, tenta deixar assim:

version: '3'
services:
    nginx:
        build:
            dockerfile: ./docker/nginx.dockerfile
            context: .
        image: douglasq/nginx
        container_name: nginx
        ports:
            - "80:80"
        networks: 
            - production-network

    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

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

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

networks: 
    production-network:
        driver: bridge

Muito obrigado Otávio

Por nada amigo, deu certo?