π Docker Networking = Container Communication
Containers need to communicate. Docker networks connect containers. Bridge, host, overlay β choose right network.
π Network Types
# Bridge (default)
docker network create my-bridge
docker run --network my-bridge app
# Host (use host network)
docker run --network host app
# None (isolated)
docker run --network none app
# Overlay (multi-host)
docker network create -d overlay my-overlay
# Macvlan (direct access)
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 my-macvlan
# View networks
docker network ls
# Inspect network
docker network inspect bridge
# Remove network
docker network rm my-network
π― Network Commands
# Create custom bridge
docker network create --driver bridge my-app-network
# Run with custom network
docker run -d --name web --network my-app-network nginx
docker run -d --name db --network my-app-network postgres
# Connect containers
docker network connect my-app-network container-name
# Disconnect container
docker network disconnect my-app-network container-name
# Port mapping
docker run -p 8080:80 --network my-app-network nginx
# Docker Compose
version: '3.8'
services:
web:
networks:
- frontend
- backend
db:
networks:
- backend
networks:
frontend:
driver: bridge
backend:
driver: bridge
# Container DNS
# Containers can reach by service name
# web -> db (resolves to db container)
# Network Tips
- Use custom networks for isolation
- Containers in same network can communicate
- Use service name for DNS
- Bridge network for single host
- Overlay for multi-host
π‘ Network Tips
- Use custom networks for isolation
- Containers in same network can communicate
- Use service name for DNS
- Bridge network for single host
- Overlay for multi-host
“Docker networking connects containers. Bridge, host, overlay. Essential for container communication.”
