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.
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ã.
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.
Apply the discount by inserting the promo code in the special field at checkout: