CodeGym /Cursos /Docker SELF /Principais drivers de rede do Docker

Principais drivers de rede do Docker

Docker SELF
Nível 17 , Lição 0
Disponível

1.1 Driver de Rede Bridge

Os drivers de rede do Docker permitem que os containers interajam entre si e com redes externas. O Docker oferece vários drivers de rede, cada um com suas características e destinado a cenários de uso específicos. Nesta aula, a gente vai dar uma olhada em quatro dos principais drivers de rede: bridge, host, none e overlay.

O driver de rede bridge é o driver de rede padrão no Docker. Ele cria uma rede interna privada, na qual os containers podem se comunicar uns com os outros. Essa rede é isolada da rede externa do host.

Características:

  • Containers conectados à rede bridge podem interagir entre si pelos endereços IP.
  • Redes externas não podem interagir diretamente com os containers na rede bridge, a menos que o redirecionamento de portas esteja configurado.
  • Fácil de usar para cenários de desenvolvimento e teste locais.

Exemplo de uso:

Quando você cria um container sem especificar uma rede, ele se conecta automaticamente à rede bridge.

Terminal

docker run -d --name my_container nginx 

Para configurar o redirecionamento de porta, você utiliza a flag -p.

Terminal

docker run -d -p 8080:80 --name my_container nginx 

1.2 Driver de rede Host

O driver de rede host permite que o container use diretamente a stack de rede da máquina host. Isso significa que o container terá o mesmo endereço IP que o host e poderá usar todas as interfaces de rede dele.

Características:

  • Containers que usam o driver de rede host funcionam mais rápido devido à redução de overheads na virtualização de rede.
  • Os containers têm acesso às mesmas interfaces de rede que o host, o que pode aumentar os riscos de segurança.
  • Aplicável para cenários que requerem alta performance de rede ou configurações específicas de rede.

Exemplo de uso:

Terminal

docker run -d --network host --name my_container nginx 

1.3 Driver de rede None

O driver de rede none desativa todas as funcionalidades de rede do container. Um container conectado à rede none não tem interface de rede, o que o isola completamente de outros containers e redes.

Características:

  • Isolamento completo do container de todas as redes.
  • Útil para containers que não precisam de rede, como para executar tarefas que não dependem da rede.

Exemplo de uso:

Terminal

docker run -d --network none --name my_container busybox 

1.4 Driver de rede Overlay

O driver de rede overlay é usado pra criar uma rede distribuída que cobre vários hosts Docker. Esse driver é frequentemente usado no Docker Swarm ou Kubernetes pra garantir a comunicação de rede entre os containers em diferentes hosts.

Características:

  • Garante comunicação entre containers em hosts diferentes.
  • Requer configuração de clustering, como Docker Swarm.
  • Permite criar redes virtuais sobre redes existentes, garantindo um alto nível de isolamento e segurança.

Exemplo de uso:

Pra usar o driver overlay, primeiro é necessário criar um cluster Docker Swarm.

1. Inicializar o Docker Swarm:

Terminal

docker swarm init

2. Criar a rede overlay:

Terminal

docker network create -d overlay my_overlay_network 

3. Rodar containers conectados à rede overlay:

Terminal

docker service create --name my_service --network my_overlay_network nginx 

1.5 Comparação dos drivers de rede

Comparação de diferentes drivers de rede

Driver de Rede Isolamento Desempenho Aplicabilidade Características
bridge Alta Moderado Redes locais Rede isolada por padrão
host Baixa Alta Desempenho Pilha de rede compartilhada com o host
none Total Máximo Isolamento Isolamento completo da rede
overlay Alta Alta Redes distribuídas Comunicação entre containers em hosts diferentes

Uso de drivers de rede

  • Bridge: use para aplicações locais e testes quando os containers precisam interagir entre si, mas devem estar isolados da rede externa.
  • Host: utilize para aplicações que exigem alto desempenho de rede ou configurações específicas de rede, onde o isolamento de rede não é uma prioridade.
  • None: use para containers totalmente isolados que não precisam de interação de rede.
  • Overlay: use para aplicações distribuídas rodando em um cluster, onde é necessário garantir comunicação entre containers em hosts diferentes.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION