Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Portas

Boa tarde, Fiquei com uma dúvida em relação a aula passada, no site dos gatinhos, haviamos falado para o terminal que queríamos que rodasse na porta 3000 (docker run -p -d 3000:80). Porém, agora falamos diretamente com a 3000 ( docker run -p -d 8080:3000), não entendi porque mudamos de porta interna do container.

Incrementando minha pergunta, como eu sei qual é a porta interna? Nesse caso do run eu posso dizer a porta interna que eu quiser?

1 resposta
solução!

Olá, Rodrigo!

Quando você executa o comando docker run -p 3000:80, está mapeando a porta 3000 do seu host (seu computador) para a porta 80 do container. Isso significa que qualquer solicitação feita à porta 3000 no seu host será redirecionada para a porta 80 dentro do container.

No caso do comando docker run -p 8080:3000, você está mapeando a porta 8080 do seu host para a porta 3000 do container. A mudança na porta interna do container (de 80 para 3000) pode ocorrer por diferentes motivos, como a configuração da aplicação dentro do container que espera receber conexões na porta 3000. Isso é algo que pode ser definido no código da aplicação ou em arquivos de configuração.

Para saber qual é a porta interna que sua aplicação está usando, você pode verificar a documentação da aplicação ou os arquivos de configuração, como o Dockerfile ou o docker-compose.yml, se estiver usando Docker Compose. Geralmente, a porta interna é definida no código da aplicação ou em variáveis de ambiente.

Sim, você pode definir a porta interna que quiser, mas precisa garantir que a aplicação dentro do container está configurada para escutar nessa porta. Caso contrário, o mapeamento não funcionará como esperado.

Bons estudos!