0Pricing
DevOps Bootcamp · Aula

Fundamentos de Redes de Contêineres

Entenda a rede padrão do Docker, as redes de ponte e como os contêineres encontram uns aos outros.

Fundamentos de Redes de Contêineres é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Por que usar redes de contêineres?

Os contêineres são isolados por projeto, o que é excelente para a segurança e a portabilidade. No entanto, para que os aplicativos sejam úteis, eles geralmente precisam se comunicar entre si e com o mundo externo.

É aí que entra a rede do Docker! Ela permite que os contêineres se comuniquem de forma segura e eficiente.

Fundamentos de Redes de Contêineres — ilustração 1

A rede bridge padrão do Docker

Quando você executa um contêiner sem especificar uma rede, o Docker o conecta automaticamente à rede bridge padrão. Essa rede se chama bridge.

Os contêineres nessa rede podem se comunicar usando seus endereços IP e também têm acesso à internet.

Inspecionando redes Docker

Você pode ver facilmente todas as redes Docker disponíveis no seu sistema. O comando docker network ls as lista, e docker network inspect fornece a configuração detalhada de uma rede específica.

Tente listar suas redes:

docker network ls

Endereços IP dos contêineres

Cada contêiner conectado a uma rede bridge (padrão ou definida pelo usuário) recebe seu próprio endereço IP exclusivo pelo servidor DNS interno do Docker.

Esse endereço IP permite que outros contêineres na mesma rede o alcancem. Vamos ver o IP de um contêiner:

docker run --rm -it alpine ip a

Comunicação na bridge padrão

Na rede bridge padrão, os contêineres podem se comunicar usando os endereços IP atribuídos a eles. No entanto, os endereços IP podem mudar, tornando esse método menos confiável para aplicativos dinâmicos.

Para melhorar a descoberta e a comunicação entre contêineres por nome, as redes bridge definidas pelo usuário são a abordagem moderna e preferida.

Redes bridge definidas pelo usuário

As redes bridge definidas pelo usuário oferecem vantagens significativas em relação à bridge padrão:

  • Resolução automática de DNS: os contêineres na mesma rede definida pelo usuário podem encontrar uns aos outros pelo nome do serviço (o nome do contêiner).
  • Melhor isolamento: elas proporcionam um isolamento melhor para seus aplicativos.
  • Possibilidade de configuração: você tem mais controle sobre as configurações da rede.

Demonstração: comunicando-se por nome

Vamos criar uma rede personalizada, executar um servidor web Nginx nela e, em seguida, usar outro contêiner para acessar o servidor Nginx pelo nome. Veja como é fácil!

docker network create my-app-net
docker run -d --name webserver --network my-app-net nginx
docker run --rm --network my-app-net alpine sh -c "apk add curl && curl -s http://webserver"
docker rm -f webserver
docker network rm my-app-net

Expondo portas para o host

Para acessar o serviço de um contêiner a partir do seu computador host ou de uma rede externa, você precisa “publicar” ou “mapear” a porta dele usando o sinalizador -p ou --publish.

Por exemplo, -p 8080:80 mapeia a porta 8080 do host para a porta 80 do contêiner.

docker run -d --name my-webserver -p 8080:80 nginx
# To check, open http://localhost:8080 in your browser
# Then, clean up the container:
docker rm -f my-webserver

Outros drivers de rede

Além das redes bridge, o Docker oferece outros drivers de rede para casos de uso específicos:

  • Host: o contêiner compartilha a pilha de rede do host, perdendo o isolamento.
  • None: o contêiner não tem interfaces de rede.
  • Overlay: usado pelo Docker Swarm para permitir a comunicação entre vários daemons do Docker em hosts diferentes.

Cada driver tem uma finalidade específica em diferentes cenários de implantação.

Desafio de redes

Quais afirmações sobre a rede bridge padrão do Docker e as redes bridge definidas pelo usuário são verdadeiras?

Recapitulação: fundamentos de redes

Abordamos os fundamentos das redes Docker:

  • A rede bridge padrão permite que os contêineres se comuniquem por IP.
  • As redes bridge definidas pelo usuário são preferidas para resolução automática de DNS por nome e melhor isolamento.
  • Aprendemos a fazer os contêineres se comunicarem e a expor as portas dos contêineres para o host.
  • Também vimos brevemente outros drivers de rede, como host e overlay.

Entender redes é fundamental para criar aplicativos conteinerizados interconectados. A seguir, vamos aprender a gerenciar dados persistentes com os volumes do Docker!

Perguntas Frequentes

A aula “Fundamentos de Redes de Contêineres” é grátis?

Sim — o texto completo de “Fundamentos de Redes de Contêineres” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Fundamentos de Redes de Contêineres”?

Entenda a rede padrão do Docker, as redes de ponte e como os contêineres encontram uns aos outros. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Fundamentos de Redes de Contêineres”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de Redes de Contêineres
  2. Volumes Docker para Persistência
  3. Montagens de Vinculação e Montagens tmpfs
  4. Redes bridge personalizadas e descoberta de serviços
← Voltar para DevOps Bootcamp