Bom dia,
Não entendi com clareza o que faz a flag "-P". Poderiam me explicar, por favor? (Eu entendi o uso do -p, inclusive)
Bom dia,
Não entendi com clareza o que faz a flag "-P". Poderiam me explicar, por favor? (Eu entendi o uso do -p, inclusive)
Oi Lucas, tudo bem?
Desculpe a demora em retornar.
A flag "-P" no Docker serve para fazer um mapeamento automático de todas as portas expostas pelo container para portas aleatórias no host. Isso significa que o Docker irá selecionar uma porta disponível no host e mapeá-la para a porta exposta pelo container.
Por exemplo, se você executar o comando docker run -d -P dockersamples/static-site
, o Docker irá selecionar uma porta disponível no host, por exemplo, a porta 49154, e mapeá-la para a porta 80 do container. Isso permite que você acesse a aplicação do container através da porta selecionada no host, no caso, localhost:49154
.
O mapeamento automático de portas é muito útil quando você está executando vários containers e não quer se preocupar em escolher portas disponíveis manualmente. No entanto, pode ser difícil acompanhar qual porta do host foi mapeada para qual porta do container, especialmente quando você está executando vários containers.
Se você preferir fazer um mapeamento específico de portas, você pode usar a flag "-p" (com "p" minúsculo) em vez da flag "-P". Por exemplo, docker run -d -p 8080:80 dockersamples/static-site
irá mapear a porta 8080 do host para a porta 80 do container. Dessa forma, você pode acessar a aplicação do container através de localhost:8080
.
Um abraço e bons estudos.