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)
- …
- 9Redes no Docker: Modos de Conexão, DNS Interno e Isolamento de Serviços This article
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)
- …
- 9Redes no Docker: Modos de Conexão, DNS Interno e Isolamento de Serviços This article
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article