Here is a step-by-step guide to connect Docker containers to multiple bridge networks in a Debian system:
- First, create two bridge networks using the following commands:
sudo ip link add name bridge1 type bridge
sudo ip link set bridge1 up
sudo ip addr add 172.16.1.1/24 dev bridge1
sudo ip link add name bridge2 type bridge
sudo ip link set bridge2 up
sudo ip addr add 172.16.2.1/24 dev bridge2
- Next, create two Docker networks that correspond to the bridge networks:
sudo docker network create --driver bridge --subnet 172.16.1.0/24 net1
sudo docker network create --driver bridge --subnet 172.16.2.0/24 net2
- Now, you can run Docker containers on each network by specifying the network name when creating the container:
# Run a container on network net1
sudo docker run --network net1 --name container1 alpine sh
# Run a container on network net2
sudo docker run --network net2 --name container2 alpine sh
- You can check the IP addresses of the containers by running the following commands:
# Get IP of container1
sudo docker inspect --format='{{ .NetworkSettings.IPAddress }}' container1
# Get IP of container2
sudo docker inspect --format='{{ .NetworkSettings.IPAddress }}' container2
- To communicate between containers on different networks, you'll need to create a VPN or use an overlay network.
References: