Back-end
Boas Práticas
Desenvolvimento de Software
Dicas e Truques
Docker
bridge network, comunicação de containers, containerização, containers, desenvolvimento, devops, dicas docker, docker, docker network, docker networks, docker-compose, host network, infraestrutura, redes, redes docker
Dev Glaubin
0 Comentários
Como comunicar containers Docker via network sem virar refém do caos
Olha só, se você já se pegou gritando com o terminal porque dois containers não estavam se falando, relaxa. Todo mundo que brinca de Docker passa por isso. A boa notícia é que, quando você entende as networks do Docker, é como aprender que pode usar Ctrl+C pra copiar. Mudança de vida total.
Vamos quebrar isso em partes e sair daqui sem trauma.
Entendendo as Docker Networks
Docker é legal porque ele tenta ser esperto e criar networks automaticamente, mas ele é como aquele colega que ajuda só até a página dois. Basicamente, existem três tipos principais de network no Docker:
- Bridge (Ponte): O defaultzão. Se você rodar um container sem pensar em network, ele cai aqui. Legal pra testes rápidos, mas é bem limitado.
- Host: Aqui o container compartilha a network do host (seu PC ou servidor). Legal pra quando você quer tirar o overhead da bridge, mas cuidado: é mais exposto.
- None: O modo “deixa quieto”. Sem network pra ninguém.
Você pode criar suas próprias networks pra fazer containers se falarem, e é isso que vamos explorar.
Criando e Usando uma Network Customizada
- Crie a network:
docker network create minha-network
Aqui, o Docker cria uma rede do tipo bridge com um nome bonitinho que você escolheu. - Conecte os containers na network: Quando você sobe um container:
docker run --name container1 --network minha-network -d imagem1 docker run --name container2 --network minha-network -d imagem2
Ou, se o container já tá rodando:docker network connect minha-network container-existente
- Teste a comunicação: Abra um terminal no
container1
e veja se ele pinga ocontainer2
:docker exec -it container1 ping container2
Se der certo, parabéns! Se não, revisa os nomes e a network. Ou culpa o YAML, sempre funciona.
Usando Docker-Compose pra Simplificar
Se você acha que rodar esses comandos toda hora é um saco, você está certo. Entra o docker-compose, nosso salvador.
Um exemplo básico de docker-compose.yml
pra conectar dois containers:
version: '3.9'
services:
app:
image: app-image
networks:
- minha-network
db:
image: db-image
networks:
- minha-network
networks:
minha-network:
driver: bridge
Com isso, basta rodar:
docker-compose up
E pronto, os containers tão na mesma network. Você pode usar os nomes dos services (app
, db
) pra fazer eles se falarem. No caso de um PostgreSQL, por exemplo, você configuraria o host como db
.
- Melhor Linguagem de Programação 2025: Explorando as Opções para sua Carreira em Tecnologia
- Hidratação no Front-End: O que é e como ela resolve problemas de SSR e CSR
- Como Sair de Pleno para Senior em 2025: O Guia Definitivo Sem Ficar Batendo Cabeça
- Guia Definitivo: Como e Quando Usar find e findIndex no JavaScript
- Diferença entre every e some no JavaScript: O Guia Definitivo para Quem Já Quebrou a Cabeça com Arrays
Dicas pra Não Se Lascar
- Cuidado com IPs fixos: Deixa o Docker gerenciar isso. Se você começar a colocar IP fixo, é dor de cabeça na certa quando o setup crescer.
- Sempre nomeie seus containers:
--name
é seu melhor amigo. Se você deixar o Docker escolher nomes tipopeaceful_pare
ouhungry_hoover
, vai se perder rápido. - Debug com carinho: Se algo der errado, use:
docker network inspect minha-network
Pra ver quais containers estão conectados e se o Docker não deu uma de malandro. - Evite expor portas desnecessárias: Containers na mesma network já conseguem se falar direto. Expor porta é só pra algo de fora acessar.
- Estude overlays se estiver em cluster: Se você vai trabalhar com Docker Swarm ou Kubernetes, prepare-se pra brincar com overlay networks.
Conclusão
Dominar as Docker networks é como aprender o caminho das pedras no mágico mundo dos containers. Com as dicas acima, você vai fazer seus containers se comunicarem sem precisar chamar o suporte (que provavelmente vai mandar você ler a documentação).
Agora vai lá e conecta esses containers como se fossem melhores amigos! Ou pelo menos colegas de trabalho.
Angular performance Angular Signals Apps Multiplataforma automação de tarefas Backend Boas Práticas boas práticas Git controle de versão desenvolvedores desenvolvimento backend Desenvolvimento de Software Desenvolvimento Frontend Desenvolvimento Mobile Desenvolvimento Web desenvolvimento ágil devops dicas para devs escalabilidade ferramentas de Git ferramentas de programação Front-end Git Hooks integração contínua inteligência artificial JavaScript Linguagens de Programação Media Queries mercado de tecnologia Mercado de Trabalho Tech Node.js produtividade dev Programação Programação Orientada a Objetos programação para iniciantes programação reativa Python React React Suspense Rust Tecnologia Trunk-Based Development web development workflow Git workflows Git
Publicar comentário