AWS Builder Center

Redes no Docker: Modos de Conexão, DNS Interno e Isolamento de Serviços

O Docker oferece um sistema de rede completo que cria interfaces virtuais e atribui endereços IP privados aos containers. Essa estrutura permite controlar rigorosamente como os containers se comunicam entre si, com o sistema operacional hospedeiro (host) e com a rede externa.

Series: Docker (9 articles)

  1. …
  2. 9
    Redes no Docker: Modos de Conexão, DNS Interno e Isolamento de Serviços This article
Senior Software Engineer 6+ years building backend systems with C#/.NET and Go.
1. Modos de Rede Principais: Bridge vs. Host
  • Modo Bridge (Ponte): É o modo padrão recomendado para containers independentes. Ele cria uma rede virtual isolada da máquina hospedeira. Cada container recebe seu próprio IP privado e a comunicação com o mundo externo é feita via mapeamento de portas.
  • Modo Host: O container não recebe uma interface virtual nem um IP próprio; ele compartilha diretamente a pilha e a interface de rede do sistema hospedeiro. Com isso, não é necessário mapear portas no docker run. Esse modo oferece maior desempenho em aplicações com alta taxa de transferência no Linux, mas apresenta restrições e limitações de compatibilidade no macOS e Windows (Docker Desktop).

2. Resolução Automática de Nomes (DNS Interno)

Uma das maiores vantagens de utilizar redes bridge personalizadas é o serviço de DNS interno do Docker. Em redes personalizadas, os containers conseguem se comunicar diretamente utilizando o nome do container ou do serviço (como db ou app), sem a necessidade de definir endereços IP estáticos.

3. Isolamento de Serviços com Múltiplas Redes

O Docker permite conectar um mesmo container a mais de uma rede simultaneamente. Essa funcionalidade possibilita criar camadas de segurança e isolamento entre os serviços de uma arquitetura:
  • Rede de Frontend/API (backend-net): Conecta o servidor web aos containers da aplicação.
  • Rede de Banco de Dados (db-net): Conecta exclusivamente a aplicação ao container do banco de dados.
Dessa forma, o banco de dados permanece completamente isolado em uma rede privada, impedindo o acesso indevido por parte de outros containers ou da rede pública.

4. Comunicação entre o Container e a Máquina Host

Quando um container precisa acessar uma API ou banco de dados que está rodando diretamente no sistema operacional do hospedeiro, utiliza-se o nome especial host.docker.internal. No Linux ou no Docker Compose, esse mapeamento pode ser configurado adicionando o parâmetro extra_hosts associado ao valor host-gateway, permitindo que o container resolva o IP da máquina host de forma automática e dinâmica.

Series: Docker (9 articles)

  1. …
  2. 9
    Redes no Docker: Modos de Conexão, DNS Interno e Isolamento de Serviços This article
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article