Ao executar o comando "docker run -d -p 80:3000 --name app app:1.0" como no video, o container não fica escutando a porta 3000, apenas executa e para em seguida
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!
Ao executar o comando "docker run -d -p 80:3000 --name app app:1.0" como no video, o container não fica escutando a porta 3000, apenas executa e para em seguida
Ei, Leonardo! Tudo bem?
Esse comportamento do container iniciar e parar logo em seguida é muito comum ao trabalhar com Docker. Quando um container fecha imediatamente após o comando docker run, significa que o processo principal dele (o comando definido no CMD ou ENTRYPOINT do seu Dockerfile) terminou de executar ou encontrou um erro fatal logo na inicialização, impedindo-o de continuar rodando em background e escutando a porta 3000.
Tente primeiro verificar o que aconteceu dentro do container, então rode o seguinte comando no terminal:
docker logs app
Geralmente, aqui aparecerá um erro de conexão com o banco de dados ou falta de variáveis de ambiente. Se retornar algo, compartilhe para podermos investigar mais sobre.
Outra alternativa é testar rodar o container em modo interativo para depuração:
docker run -it --rm app:1.0 /bin/bash
Isso permitirá que você entre no shell do container e execute o script manualmente para verificar se há erros.
Confira se todas as dependências estão corretamente instaladas no container. Você pode fazer isso verificando o requirements.txt e o comando de instalação no Dockerfile.
Espero que uma das sugestões te ajude, qualquer dúvida, estaremos por aqui!
Bons estudos e até mais!