Ağ sürücüleri
- Docker & Kubernetes kursu
- Başlangıç
- Ders 72/82
- 4 dk
Bridge, host ve none ağ sürücülerini öğrenirsin.
Ağ sürücüleri
Docker container ağlarını sürücülerle kurar:
bridge(varsayılan): ana makinede sanal bir köprü; container'lar özel bir alt ağda IP alır.host: container ana makinenin ağını doğrudan kullanır; yalıtım ve port eşleme yoktur.none: ağ yok; yalnızca loopback.overlay: birden çok Docker ana makinesini (Swarm) birbirine bağlar.
docker run --rm --network none alpine ip addr # yalnızca lo
docker run -d --network host nginx # doğrudan ana makinenin 80'iNe zaman hangisi?
Çoğu durumda kullanıcı tanımlı bridge ağı doğru seçimdir (sonraki derslerde). host ağı, çok sayıda port kullanan ya da en düşük gecikme isteyen uygulamalar için seçilir ama yalnızca Linux'ta tam çalışır. none, ağa hiç ihtiyacı olmayan toplu işler için en güvenli seçenektir.
docker run --rm --network none -v "$PWD":/veri alpine sha256sum /veri/arsiv.tarUygulama Ağ seçimi
İki komut yaz: alpine ile, iş bitince silinen ve ağı olmayan bir container'da ip addr çalıştır; nginx'ten web adlı container'ı arka planda ana makinenin ağıyla başlat.
Başlangıç kodu
# buraya yazÖrnek çözüm
docker run --rm --network none alpine ip addr
docker run -d --name web --network host nginxBeklenen çıktı
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
e7f8091a2b3c
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 --network host kullanırken -p 8080:80 ne işe yarar?
- Hiçbir şey; port eşleme yok sayılır Doğru cevap
- 8080'i 80'e eşler
- Hata verir ve container başlamaz
- İki portu da açar
Açıklama: Container zaten ana makinenin ağındadır; uygulama doğrudan 80'i dinler.
2 Container'ı ağsız çalıştır.
docker run --rm --network ____ alpine ip addr
docker run --rm --network none alpine ip addr
Açıklama: none sürücüsü yalnızca loopback verir.
3 Sürücüleri eşleştir.
| Kavram | Anlamı |
|---|---|
bridge |
Varsayılan sanal köprü |
host |
Ana makinenin ağı |
none |
Ağ yok |
overlay |
Çok makineli ağ |