Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro na definição de portas

Olá! Ao executar o comando abaixo, retorna o erro que também segue junto ao comando:

~ docker run -p 8080:3000 -v "/home/vini/Documentos/docker/volume-exemplo:/var/www" -w "/var/www" node npm start                                               
docker: Error response from daemon: driver failed programming external connectivity on endpoint mystifying_bassi (1b6b818d710f89fda729fbcb40cbf04af8963c0c04feb4f51a755a0725745b5f): Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use.
ERRO[0000] error waiting for container: context canceled 
➜  ~ 

Seria o caso de a porta em questão já estar sendo usada?

5 respostas
solução!

Bom dia Diego, pelo erro, parece ser exatamente isso de porta estar sendo usada, pra vc confirmar qual aplicação está usando, se estiver usando Linux, basta executar um dos comandos abaixo:

sudo netstat -nap | grep :8080
sudo ss -ntlap | grep :8080

Na última coluna da direita você terá o PID que está usando aquela porta, aí é só executar:

ps -ef | grep "número do pid"

Com isso você saberá qual o programa está utilizando a porta e poderá baixá-lo.

Rodrigo, desde já, obrigado pelo suporte. Eu compreendi todas as partes e encontrei o programa que está utilizando a porta em questão, que é o tomcat. No entanto, não consegui entender esse último trecho "e poderá baixá-lo.", na última frase. Após encontrar o programa, encerrei o processo, mas continuou dando o mesmo erro. O que devo fazer agora?

Eu quis dizer que vc poderia encerrar o processo com a frase "poderá baixá-lo", que foi o que vc fez. Passa o retorno dos comandos acima agora que vc encerrou o processo pra eu ver, não mudou o erro?

Rodrigo, tomei uma medida um pouco agressiva. Removi o tomcat, já que eu não estava precisando do mesmo no momento. Eu havia encerrado o processo do tomcat, mas o problema persistia. Ao remove-lo, o comando funcionou:

➜  / docker run -p 8080:3000 -v "/home/vini/Documentos/docker/volume-exemplo:/var/www" -w "/var/www" node npm start

> volume-exemplo@1.0.0 start /var/www
> node .


Server is listening on port 3000

Obrigado pelo suporte! Sucesso!

Imagina, valeu Diego, abraço!