1
resposta

localhost:8080 - Connection Refused

Bom dia,ate então todo o processo da geração da imagem em um ambinente virtual funcionou com sucesso, mas o localhost, na porta 8080 nao abre como esperado. como processeguir nesse caso ?

[Insira aqui a descrição dessa imagem para ajudar na acessibilidade

vagrant@vagrant:~/exemplo-node$ docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 151ae6833ed9 rayaneferreira/app-node:1 "/bin/sh -c 'npm sta…" 4 seconds ago Exited (1) 3 seconds ago elegant_saha 147f9f99bfe3 hello-world "/hello" 2 hours ago Exited (0) 2 hours ago great_babbage

vagrant@vagrant:~/exemplo-node$ docker logs 151ae6833ed9 npm ERR! missing script: start

npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2024-01-23T14_26_08_237Z-debug.log

como corrigri isso no arquivo package.json

1 resposta

Olá Rayane!

Pelo que você descreveu e pelas informações do terminal, parece que temos dois problemas aqui. O primeiro é que o seu container não está rodando porque está faltando o script de inicialização no package.json. O segundo problema é que, mesmo que o script estivesse correto, parece que a porta não está sendo exposta corretamente.

Para o primeiro problema, você precisa garantir que o seu package.json tenha um script start definido. Isso geralmente se parece com algo assim:

"scripts": {
  "start": "node seuArquivoDeEntrada.js"
}

Substitua seuArquivoDeEntrada.js pelo nome do arquivo que inicia sua aplicação Node.js.

Para o segundo problema, a mensagem de erro "Connection refused" ao tentar acessar localhost:8080 indica que não há nada rodando nessa porta. Isso pode estar acontecendo porque o container não está rodando devido ao erro anterior ou porque a porta não está sendo exposta corretamente.

Quando você executa o comando docker run, você está mapeando a porta 8080 do host para a porta 3000 do container. Certifique-se de que seu aplicativo Node.js dentro do container esteja configurado para ouvir na porta 3000. Se estiver ouvindo em uma porta diferente, você precisa ajustar o mapeamento de portas no comando docker run.

Depois de corrigir o package.json, tente rodar o container novamente com o comando docker run, certificando-se de que o mapeamento de portas está correto e que seu aplicativo está configurado para ouvir na porta interna que você está mapeando (neste caso, a porta 3000).

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software