1
resposta

[Sugestão] 404 no login, após subir container no Docker

Tive esse problema enquanto estava implementando o que o professor estava fazendo em aula. Ao buildar e rodar o container da minha aplicação ocorreu tudo normalmente, aparentemente sem bugs. Quando fui testar o endpoint login, recebi um status 404 como resposta, o que significa que supostamente não existe endpoint para /login definido. Além disso, os endpoints de /topicos/** estavam todos com acesso liberado.

Rodando a aplicação localmente, por meio da minha IDE, a autenticação funcionava perfeitamente.

Como solucionar isso? Localmente roda normal e num container tenho bugs???

Vi que é muito comum a existência de outro arquivo num contexto de Docker: o docker-compose.yml. Ele define os serviços que você quer utilizar no conteiner Docker (serviços como banco de dados e da web).

services:
   web:
      build: .
      ports:
         - 3080:8080

Feito isso, rodei o comando no terminal: docker compose up

Depois foi só correr pro abraço! Tudo normal de novo.

1 resposta

Olá, Joaquim!

Entendo que você está enfrentando um problema ao executar o container da sua aplicação no Docker. É comum ocorrerem diferenças de comportamento entre a execução local e a execução em um container.

Pelo contexto fornecido, parece que o problema está relacionado à definição dos serviços no arquivo docker-compose.yml. Esse arquivo é responsável por definir os serviços que serão utilizados no container Docker, como o banco de dados e a aplicação web.

No seu caso, você definiu o serviço "web" e configurou a porta 3080 para mapear a porta 8080 do container. Ao executar o comando docker compose up, o Docker irá construir e executar o container com base nas configurações definidas no arquivo.

Se a execução local da aplicação está funcionando corretamente, é possível que o problema esteja na configuração do Docker. Verifique se o arquivo docker-compose.yml está corretamente configurado e se não há nenhum erro na definição dos serviços.

Além disso, certifique-se de que a aplicação está sendo executada corretamente dentro do container. Verifique se todos os passos mencionados na aula foram seguidos, como a construção da imagem e a execução do container com o comando correto.

Caso o problema persista, sugiro verificar os logs do container para identificar possíveis erros ou mensagens de aviso que possam ajudar a solucionar o problema. Você pode utilizar o comando docker logs <nome_do_container> para visualizar os logs.

Espero que essas sugestões possam te ajudar a solucionar o problema. Lembre-se de que a execução em um container pode apresentar diferenças em relação à execução local, e é importante verificar todas as configurações e etapas do processo.

Espero ter ajudado e bons estudos!