O que é mapeamento de portas no Docker?

O Que E Mapeamento De Portas No Docker



Docker é uma plataforma conhecida e de código aberto frequentemente usada para criar, compartilhar e executar software e aplicativos. Ele usa componentes diferentes para executar os projetos dentro dos contêineres, como imagens do Docker, mecanismo ou daemon do Docker e cliente do Docker. No entanto, para acessar o processo interno do contêiner, é necessário o mapeamento de portas.

Este post irá discutir:







O que é mapeamento de portas do Docker?

Ao executar os serviços ou aplicativos dentro do contêiner, os usuários geralmente desejam acessar o aplicativo ou serviços para o mundo externo, em vez de dentro do contêiner. Para acessar os processos ou serviços do contêiner de fora, o processo de mapeamento de portas é usado no Docker. O mapeamento de porta é um processo que cria a regra de firewall que mapeia a porta aberta do contêiner para a porta aberta do host Docker por meio do qual os aplicativos ou serviços em execução são acessíveis a partir do sistema host.



Como mapear uma porta no Docker?

Para mapear uma porta no Docker, duas opções são usadas para publicar a porta no host; “ –publicar” ou “-p ”. Para mapear uma porta no Docker, siga as instruções fornecidas.



Passo 1: Criar Dockerfile

Primeiro, crie o Dockerfile que executará o programa HTML simples “ index.html ”. No código abaixo:





  • DE ” é usada para definir a imagem base do contêiner.
  • CÓPIA DE ” é utilizada para copiar o “ index.html ” para o caminho do contêiner.
  • PONTO DE ENTRADA ” estão descrevendo os executáveis ​​dos contêineres do Docker:
DE nginx:mais recente
COPY index1.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'daemon off;']

Etapa 2: criar imagem no Docker

Em seguida, crie a nova imagem usando o comando mencionado:

docker build -t html .



Etapa 3: criar e mapear o contêiner no host

Em seguida, crie e mapeie o contêiner no host por meio do “ docker run ” comando. Aqui o ' -p ” opção é realmente utilizada para mapear o contêiner na porta localhost “ 80 ”:

docker run -p 80:80 --name html-cont html

Em seguida, liste todos os containers e verifique se a porta está mapeada ou não:

docker ps -a

Etapa 4: verificação

Em seguida, verifique se o “ index.html ” que está sendo executado dentro do contêiner está acessível no host ou não. Para isso, navegue até a opção “ http://localhost:80 ” URL no navegador:

Como mapear a porta no Docker Compose?

Para mapear a porta no Docker Compose para acessar os serviços de composição de fora do contêiner do Docker, siga as etapas listadas.

Passo 1: Crie o arquivo “docker-compose.yml”

Primeiro, crie o “ docker-compose.yml ” e cole as seguintes instruções:

  • Serviços ” define o serviço de composição. Por exemplo, o “ rede ” serviço é criado:
  • construir ” é usada para acessar o contexto de construção. No código abaixo, o “ . ” significa que estamos usando o Dockerfile que é colocado no diretório atualmente aberto.
  • portas ” é usada especificamente para mapear a porta. Ele define a porta onde o container irá expor:
versão: '3'
Serviços:
rede:
construir: .
portas:
-80:80

Etapa 2: executar o serviço Compose

Em seguida, execute o “ docker-compose ” para iniciar os serviços na porta de mapeamento e dentro do contêiner:

docker-compose up -d

Na saída, você pode ver que acessamos o “ rede ” serviços de fora do contêiner no host:

Isso é tudo sobre mapeamento de portas no Docker.

Conclusão

O mapeamento de porta é um processo de criação da regra de firewall que mapeia a porta do contêiner para a porta aberta do host Docker por meio do qual os aplicativos ou serviços em execução são acessíveis a partir do sistema host. Para mapear a porta no Docker, o “ -p” ou “–publicar ” opção é usada no “ docker run ” comando. No arquivo de composição, o “ portas ” é usada para mapear a porta. Esta postagem demonstrou o que é mapeamento de porta no Docker e como mapear a porta.