As Networks do Docker são uma abstração criada para facilitar o gerenciamento da comunicação de dados entre containers e os nós externos ao ambiente docker.
Alguns comandos
# Criar uma rede brigde
docker network create --driver bridge <nome_da_rede>
##Exemplo de criação de uma bridge network
docker network create --driver bridge isolated_nw
#Listar as redes
docker network ls
# Rodar um container na rede isolated_nw
docker container run -itd --net isolated_nw alpine sh
# Descobrir quais containers estão associados a uma rede
docker network inspect <nome_da_rede>
docker network inspect isolated_nw
## Conectar um container com uma bridge
docker network connect <nome_da_rede> [ID ou Container name]
## Desconectar o container em uma rede
docker network disconnect <nome_da_rede> [ID ou Container name]
Criar uma rede brigde e conectar dois containers
# Criar uma rede brigde
docker network create --driver bridge <nome_da_rede>
docker network create --driver bridge giropops-senhas
### Antes
docker container run -d -e REDIS_HOST=<IP_DO_HOST> --name giropops-senhas -p 5000:5000 giropops-senhas:1.0
docker container run -d --name redis -p 6379:6379 redis
### Agora
## Env com IP do Gateway da bridge criada - sabe quem é quem pelo nome do container (sem necessidade de IP)
docker run -d --name redis --network giropops-senhas -p 6379:6379 redis
docker run -d --name giropops-senhas --network giropops-senhas -e REDIS_HOST=redis -p 5000:5000 giropops-senha-test
Exemplos:
--link
## Usando DNS Cloudflare
docker run -d --name giropops-senhas-2 --network giropops-senhas --dns 1.1.1.1 giropops-senha-test
## Link
docker container run -d --name redis -p 6379:6379 redis
docker container run -d --link redis:redis -e REDIS_HOST=redis --name giropops-senhas -p 5000:5000 giropops-senha-test
sudo iptables -t nat -L
docker run -d --name redis --network giropops-senhas -p 6379:6379 redis
docker container run -d -e REDIS_HOST=redis --name giropops-senhas -p 5000:5000 giropops-senha-test
docker network connect giropops-senhas giropops-senhas
## Conectar um container com uma bridge network
docker network connect <nome_da_rede> [ID ou Container name]
## Desconectar o container em uma rede
docker network disconnect <nome_da_rede> [ID ou Container name]
## Limitar CPU
docker run -d --name redis --network giropops-senhas -p 6379:6379 --cpus 1 redis
docker inspect redis | grep -i cpus #### NanoCpus
## Limitar memoria
docker run -d --na
me redis --network giropops-senhas -p 6379:6379 --cpus 2 --memory 64m --memory-swap 128m redis
## CPU
docker container run --cpus 1 <nome_image:tag>
## Memoria e swap
docker container run --memory 64m --memory-swap 32m <nome_image:tag>