Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] erro ao ultilizar o comando docker-compose up --build

depois de usar o comando ele retorna este erro

quickview
alura-ms_mongo-mkt_1 is up-to-date
alura-ms_rabbitmq_1 is up-to-date
alura-ms_front_1 is up-to-date
alura-ms_postgre-academico_1 is up-to-date
alura-ms_web-mkt_1 is up-to-date
alura-ms_web-financeiro_1 is up-to-date
8c0c33be5b89_alura-ms_web-academico_1 is up-to-date
alura-ms_consumer-academico_1 is up-to-date
Starting alura-ms_api-gateway_1 ... 
Starting alura-ms_api-gateway_1 ... error

ERROR: for alura-ms_api-gateway_1  Cannot start service api-gateway: driver failed programming external connectivity on endpoint alura-ms_api-gateway_1 (95813aff6be5800e1dc1a92c9768ab8b513bc274262136ef07722f7987387c4c): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use

ERROR: for api-gateway  Cannot start service api-gateway: driver failed programming external connectivity on endpoint alura-ms_api-gateway_1 (95813aff6be5800e1dc1a92c9768ab8b513bc274262136ef07722f7987387c4c): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use
ERROR: Encountered errors while bringing up the project.
1 resposta
solução!

Olá, Arthur!

O erro que você está enfrentando ao tentar subir os serviços com docker-compose up --build está relacionado a um conflito de portas. O erro menciona que a porta 80 já está sendo utilizada por outro serviço no seu computador, o que impede o Docker de iniciar o serviço api-gateway.

Uma solução para esse problema é verificar se há algum outro serviço rodando na porta 80 do seu computador e desligá-lo temporariamente enquanto você trabalha com o Docker. Você pode fazer isso seguindo estes passos:

  1. Identificar o processo que está utilizando a porta 80: No Windows, você pode usar o comando no Prompt de Comando:

    netstat -aon | findstr :80
    

    No Linux ou macOS, você pode usar:

    sudo lsof -i :80
    
  2. Finalizar o processo:

    • No Windows, identifique o PID (Identificador do Processo) que está usando a porta 80 e finalize-o com:
      taskkill /PID numero_do_PID /F
      
    • No Linux ou macOS, você também pode finalizar o processo usando o PID com:
      sudo kill -9 numero_do_PID
      
  3. Tente rodar o docker-compose novamente: Depois de finalizar o processo que estava usando a porta 80, tente rodar novamente o comando:

    docker-compose up --build
    

Essa abordagem deve resolver o conflito de portas, permitindo que o Docker inicie todos os serviços corretamente. Lembre-se de que, se o serviço que você finalizou for essencial para outras tarefas ou aplicações, você precisará gerenciar o uso da porta 80 ou configurar os serviços para usar portas diferentes.

Bons estudos!