Configurando Drivers de Rede
Configurando a Rede Bridge
A rede bridge é o driver de rede padrão no Docker. Para criar uma nova rede bridge, você pode usar o seguinte comando:
docker network create my-bridge-network
Em seguida, você pode conectar um contêiner à nova rede bridge usando a flag --network:
docker run -d --name my-container --network my-bridge-network nginx
Contêineres na mesma rede bridge podem se comunicar entre si usando o nome do contêiner ou o endereço IP do contêiner.
Configurando a Rede Host
Para usar o driver de rede host, você pode iniciar um contêiner com a flag --network host:
docker run -d --name my-host-container --network host nginx
Ao usar a rede host, o contêiner compartilhará a pilha de rede do host, permitindo que acesse as interfaces de rede e as portas do host diretamente.
Configurando a Rede Overlay
Para criar uma rede overlay, você primeiro precisa inicializar um cluster Docker Swarm. Depois que o Swarm estiver configurado, você pode criar uma rede overlay com o seguinte comando:
docker network create --driver overlay my-overlay-network
Os contêineres podem então ser conectados à rede overlay usando a flag --network, assim como com a rede bridge.
docker run -d --name my-overlay-container --network my-overlay-network nginx
As redes overlay permitem a comunicação entre contêineres em vários hosts Docker.
Configurando a Rede Macvlan
Para usar o driver de rede macvlan, você precisa especificar a interface pai no host. Você pode criar uma nova rede macvlan com o seguinte comando:
docker network create -d macvlan --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=eth0 my-macvlan-network
Os contêineres podem então ser conectados à rede macvlan usando a flag --network.
docker run -d --name my-macvlan-container --network my-macvlan-network nginx
As redes Macvlan permitem que os contêineres tenham seus próprios endereços MAC, fazendo com que eles apareçam como dispositivos físicos na rede.
Compreendendo como configurar esses diferentes drivers de rede, você pode escolher a solução mais adequada para suas aplicações baseadas em Docker.