Help?

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Help?

Olá, Arthur! Parece que você está enfrentando um problema com a conexão ao tentar subir seu projeto, certo? O erro "connect() failed (111: Connection refused) while connecting to upstream" geralmente ocorre quando o servidor está tentando se conectar a um serviço upstream (como um banco de dados ou outro servidor), mas a conexão é recusada.
Com base no contexto da aula que você compartilhou, parece que você está tentando subir vários microsserviços usando Docker. A mensagem de erro pode indicar que um desses serviços não está pronto para aceitar conexões quando o servidor tenta se conectar a ele. Isso pode acontecer se o serviço ainda não foi totalmente inicializado, ou se houve um problema ao inicializá-lo.
Uma possível solução para este problema é garantir que todos os serviços estejam prontos para aceitar conexões antes de tentar se conectar a eles. Você pode fazer isso adicionando um script de espera (wait script) ao seu arquivo Docker Compose, que irá pausar a execução do servidor até que todos os serviços estejam prontos. Aqui está um exemplo de como você pode fazer isso:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- db
command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"]
db:
image: postgres
Neste exemplo, o script wait-for-it.sh é um script que irá esperar até que o serviço db esteja pronto para aceitar conexões na porta 5432 antes de iniciar o servidor web com python app.py. Você pode encontrar o script wait-for-it.sh e mais detalhes sobre como usá-lo aqui.
Por favor, observe que este é apenas um exemplo e você pode precisar ajustá-lo para se adequar à sua configuração específica. Além disso, este é apenas um possível motivo para o erro que você está vendo, e pode haver outros fatores em jogo.
Espero ter ajudado e bons estudos!
Olá, Matheus. Obrigado pela resposta!
Olhando o log com mais calma hoje, percebi que o problema estava no mongodb. O docker-compose não estava especificando a versão do mongo e estava usando a mais recente. E meu computador não suporta a versão mais recente. "MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!" Então pesquisei sobre esse problema na internet e vi que em alguns foruns sugeriram usar uma versão anterior a 5.0. Alterei o docker-compose especificando a versão do mongo e funcionou.
mongo-mkt:
image: mongo:4.4.6
environment:
MONGO_INITDB_ROOT_USERNAME: mkt-usuario
MONGO_INITDB_ROOT_PASSWORD: mkt-senha
MONGO_INITDB_DATABASE: mkt
Espero que isso ajude outras pessoas que por acaso venham a ter o mesmo problema que eu tive.