Como usar publish de porta
Last updated
Last updated
Em Docker, a publicação de portas permite quebrar um pouco do isolamento de rede, criando uma regra de redirecionamento. Por exemplo, você pode indicar que as solicitações na porta 8080 do seu host devem ser encaminhadas para a porta 80 do contêiner. Isso é feito durante a criação do contêiner usando a opção -p
(ou --publish
) com o comando docker run
. A sintaxe é a seguinte:
PORTA_HOST
: O número da porta no seu host onde você deseja receber tráfego.
PORTA_CONTÊINER
: O número da porta dentro do contêiner que está aguardando conexões.
Por exemplo, para publicar a porta 80 do contêiner na porta 8080 do host:
Agora, qualquer tráfego enviado para a porta 8080 do seu host será encaminhado para a porta 80 dentro do contêiner.
Lembre-se de que, por padrão, quando uma porta é publicada, ela fica disponível em todas as interfaces de rede, o que significa que qualquer tráfego que alcance sua máquina pode acessar a aplicação publicada. Portanto, tenha cuidado ao publicar bancos de dados ou informações sensíveis.
Se você não se importa com qual porta do host é usada, pode deixar o Docker escolher uma porta efêmera para você. Basta omitir a configuração da porta do host:
Uma vez que o contêiner está em execução, você pode verificar a porta escolhida usando docker ps
.
Além disso, ao criar uma imagem de contêiner, a instrução EXPOSE
indica que a aplicação empacotada usará a porta especificada. Essas portas não são publicadas por padrão.
Com a opção -P ou --publish-all, você pode publicar automaticamente todas as portas expostas para portas efêmeras, o que é útil para evitar conflitos de porta em ambientes de desenvolvimento ou teste.
Parar a execução do container:
Voltar a executar o container:
Remover o container:
Não é possível remover o container que está em execução. Faz-se necessário:
para-lo antes, ou
forçar a remoção.
Parar o container e remove-lo:
Forçar a remoção:
Remoção de vários containeres ao mesmo tempo: