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!