Como mapear uma porta host para uma porta de contêiner?

Como mapear uma porta host para uma porta de contêiner?
A plataforma de código aberto do Docker mudou completamente a maneira como construímos, implantamos e lidamos com aplicativos de contêineres. Você precisará construir um DockerFile para recipiente um aplicativo, que contém as instruções que o Docker precisa para gerar e executar imagens. Para permitir a comunicação perfeita entre os contêineres em aplicativos multi-containers e disponibilizar suas portas do docker por serviços ao mundo exterior, pode ser necessário definir determinadas regras de rede.

Quando você inicia um contêiner com o Docker, todos os aplicativos no contêiner são executados em portas específicas. Se você deseja usar um número de porta para acessar um aplicativo específico, primeiro mapeie o número da porta do contêiner para o número da porta do host do docker. Os contêineres podem usar mapeamentos de porta para enviar e receber tráfego através de portas na instância do contêiner do host. Os mapeamentos de portas do contêiner são definidos como parte da definição de contêiner. O número da porta no contêiner conectado à porta host foi escolhido pelo usuário ou alocado automaticamente.

Os contêineres no Docker podem ter seus aplicativos em execução nas portas. Ao executar um contêiner, você deve mapear o número da porta do contêiner para o número da porta do host do docker se quiser conectar o aplicativo do contêiner por meio de um número de porta. Neste tutorial, explicaremos você sobre o mapeamento de uma porta host para uma porta de contêiner no Docker.

Pré-requisitos

Para mapear uma porta host em uma porta de contêiner, você deve instalar o Ubuntu 20.04 Sistema operacional. Além disso, verifique se o docker deve ser instalado nele. Caso contrário, todo esse tutorial não será construtivo para você. Se você não instalou o Docker atualmente, pode fazê-lo simplesmente executando o comando abaixo escrito no terminal da linha de comando.

$ sudo apt install docker.io

Iniciamos o comando com a palavra -chave "sudo", o que significa que você deve ter direitos de acesso ao usuário root para fins de instalação.

Método para mapear uma porta host para uma porta de contêiner no Docker

Para mapear uma porta host para uma porta de contêiner no Docker, inicialmente, você deve abrir o shell da linha de comando em seu sistema operacional. Você pode abri -lo pesquisando no menu do aplicativo digitando a palavra -chave "Terminal" na barra de pesquisa ou utilizando a chave de atalho "Ctrl+Alt+T". Uma vez aberto, você deve escrever o comando abaixo da listada para executar a imagem denominada 'nginx' com o -P bandeira.

$ sudo docker run -itd -p nginx

Como usamos a palavra -chave "sudo" no início do comando, o sistema perguntará para a senha. Depois de fornecer a senha, a imagem necessária será criada. Agora, é a hora de exibir as imagens do Docker. Use o comando anexado abaixo para concluir sua tarefa.

$ sudo docker ps

Conforme exibido na imagem anexada acima, você pode ver o ID do contêiner, a imagem, o comando, o tempo de criação e o status junto com o número da porta. Destacamos o número da porta de 'nginx', ou seja: 49153-> 80.

Agora, executaremos o comando mencionado abaixo:

$ sudo docker run -itd -p nginx

Depois de executado com sucesso, você deve listar as imagens novamente utilizando este comando.

$ sudo docker ps

Conforme destacado na imagem, você pode verificar se o valor foi incrementado em 1, que é 49154-> 80. Agora, você deve verificar a imagem com o comando Docker Inspect para ver quais portas o contêiner expõe. Você tem que executar o seguinte comando anexado na janela do terminal.

$ sudo docker inspecionar nginx

O comando Inspect retorna um objeto JSON como resultado. Podemos ver um pedaço de "expostos" na saída se olharmos de perto a imagem em anexo exibida acima. Você deve atualizar o comando Docker Run para incluir a opção '-p', que indica o mapeamento da porta, para executar o nginx e mapear as portas. Como resultado, você deve implementar o seguinte comando anexado.

$ sudo docker run -p 80:80 -p 50:50 nginx

A porta host do docker para mapear está principalmente no lado esquerdo do mapeamento do número de porta, enquanto o número da porta do contêiner do docker estaria do lado direito. Você notará o Nginx para cima e operando quando iniciar o navegador e irá ao host do Docker na porta 80.

Conclusão

Neste guia, aprendemos sobre o mapeamento de uma porta host para uma porta de contêiner no Docker. Acredito que agora você poderá mapear facilmente uma porta host para uma porta de contêiner no Docker olhando para este tutorial.