Network Türleri
| Driver | Açıklama | Kullanım |
| bridge | Varsayılan, izole network | Tek host, container arası |
| host | Host network'ü paylaşır | Performans kritik |
| none | Network yok | Tam izolasyon |
| overlay | Multi-host network | Docker Swarm |
| macvlan | Fiziksel MAC adresi | Legacy uygulamalar |
Network Yönetimi
# Network listele
docker network ls
# Network oluştur
docker network create mynetwork
# Özel subnet ile
docker network create \
--driver bridge \
--subnet 172.20.0.0/16 \
--gateway 172.20.0.1 \
mynetwork
# Network detayları
docker network inspect mynetwork
# Network sil
docker network rm mynetwork
# Kullanılmayanları temizle
docker network prune
Container'ı Network'e Bağlama
# Oluştururken
docker run -d --network mynetwork --name app1 nginx
# Sonradan bağlama
docker network connect mynetwork app2
# Bağlantıyı kes
docker network disconnect mynetwork app2
Container İletişimi
# Aynı network'teki container'lar isimle haberleşir
docker network create mynet
docker run -d --network mynet --name db mysql
docker run -d --network mynet --name app myapp
# app içinden db'ye bağlanma
mysql -h db -u root -p
Compose'da Networking
version: '3.8'
services:
frontend:
image: nginx
networks:
- frontend_net
- backend_net
api:
image: myapi
networks:
- backend_net
db:
image: postgres
networks:
- backend_net
networks:
frontend_net:
backend_net:
internal: true # Dış erişim yok
DNS ve Alias
docker run -d \
--network mynet \
--network-alias db \
--network-alias database \
mysql