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

Não consegui acessar o localhost

Quando dei docker-compose build, e então docker-compose up, tudo pareceu estar certo no terminal. Porém, quando fui acessar o localhost, não consegui acessar. A seguinte mensagem aparecia: "localhost enviou uma resposta inválida."

Aqui está meu docker-compose.yml:

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

    mongodb: 
        image: mongo
        networks: 
            - production-network

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

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

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

networks: 
    production-network:
        driver: bridge
9 respostas

Olá Antônio, tudo bem? Você executou o docker-compose ps, tenta executar esse comando e coloca o resultado aqui pra gente verificar! Porque esse erro pode ser por causa de outro container que esteja gerando conflito ou algum erro durante o Build.

Após executar o build e o up -d:

docker-compose ps
           Name                        Command             State              Ports            
----------------------------------------------------------------------------------------------
alura-books-1                npm start                     Up      0.0.0.0:32789->3000/tcp     
alura-books-2                npm start                     Up      0.0.0.0:32790->3000/tcp     
alura-books-3                npm start                     Up      0.0.0.0:32791->3000/tcp     
aluradockercap06_mongodb_1   docker-entrypoint.sh mongod   Up      27017/tcp                   
nginx                        nginx -g daemon off;          Up      443/tcp, 0.0.0.0:80->80/tcp 

Antônio, tenta executar o comando docker-compose down e depois tenta acessar a URL http://localhost:80 e verifica o resultado, pode ser que tenha alguma serviço utilizando essa porta.

Você também pode executar o docker ps e colocar o resultado aqui, pode ter outro container que não seja controlado pelo docker-compose e esteja utilizando a mesma porta.

solução!

Inserindo o docker psnão há nenhum container sendo executado. Me certifiquei de executar docker container prune e então executar os comandos do docker compose. O erro persiste.

Tentando acessar o localhost sem nenhum container sendo exexctado, simplesmente não acesso nada, como esperado.

Sem querer marquei como solucionada, mas não foi solucionado ainda kkkkk

Antônio, encontrei o problema, o problema foi no direcionamento de portas do nginx, note que no seu docker-compose você colocou - "8080:80" então a porta externa (do seu host, como você vai acessar no navegador) é 8080, então se você subir novamente os containers com docker-compose up -d e tentar acessar a URL http://localhost:8080 vai funcionar!

Eu havía mudado isso após enviar no fórum. Eu estava testando se em outra porta funcionaria também, porém não funcionou.

Tentei acessar as portas 80 e 8080, mas em nenhuma funcionou

Realmente Antônio, aparentemente está tudo correto, duas coisas que você pode fazer pra gente verificar, primeiro você poderia criar um repositório no GitHub com tudo do projeto e mandar o link aqui pra gente acessar, e a outra coisa é, se poder adicionar uma imagem desse erro no repositório, seria de grande ajuda pra gente tentar encontrar a solução.