Formas de pagamento Abuse

O que são portos de contentores

10.09.2023, 23:08

As portas de contentor são portas de rede específicas que podem ser ligadas a serviços ou aplicações específicas num contentor.

O que há de especial nos contentores

Cada contentor pode ter as suas próprias portas que podem ser utilizadas para comunicar com o mundo exterior ou para comunicar com outros contentores. Ao iniciar um contentor, pode especificar quais as portas que devem estar disponíveis dentro do contentor e quais as portas que devem ser encaminhadas para a máquina anfitriã.

ports:

external_port:Internal port

Por exemplo, vamos encaminhar a porta 80 como 8094:

docker-nginx:
  image: nginx
  ports:
    - '8094:80'

Quando o contentor está em execução, a aplicação dentro do contentor pode ouvir ou enviar dados através da porta apropriada. Os utilizadores podem interagir com a aplicação acedendo à porta do contentor que foi reencaminhada para a máquina anfitriã.

Como iniciar um contentor

Para iniciar as portas do contentor, terá de utilizar o comando docker run com o sinalizador -p ou --publish.

A sintaxe para o comando docker run com o sinalizador -p é a seguinte:

docker run -p <host port>:<container port> <image_name>

Onde:

<host-port> é a porta no seu host que será proxied para a porta do container.

<porta do contêiner> - a porta dentro do contêiner que será acessada através da porta do host especificada.

<nome_da_imagem> - o nome da imagem do contêiner que você deseja executar.

Por exemplo, para iniciar um contêiner com um servidor web na porta 80 e fazer proxy para a porta 8080 do seu host, você pode usar o seguinte comando:

docker run -p 8080:80 nginx

O servidor Web em execução no contentor estará agora acessível na porta 8080 do seu anfitrião.

Você também pode usar um intervalo de portas especificando vários pares <porta do host>:<porta do contêiner>.

Por exemplo:

docker run -p 8080-8082:80-82 nginx

Isso fará o proxy das portas 80, 81 e 82 dentro do contêiner para as portas 8080, 8081 e 8082 do seu host, respetivamente. Depois de iniciar o contêiner com as portas de proxy, você poderá acessá-las por meio das portas de host especificadas.