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?
- Como mapear uma porta no Docker?
- Como mapear a porta no Docker Compose?
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:
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:
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.