CodeBlanks Logo Icon CodeBlanks

Container bağlantısı

Aynı ağdaki container'ların haberleşmesini öğrenirsin.

Container bağlantısı

Çalışan bir container sonradan başka ağlara bağlanabilir ya da ağdan çıkarılabilir; bir container aynı anda birden çok ağda olabilir. Bu, örneğin bir hata ayıklama aracını geçici olarak arka ağa sokmak için kullanılır:

docker network connect arka api
docker network disconnect arka api
docker inspect -f '{{range $ad, $_ := .NetworkSettings.Networks}}{{$ad}} {{end}}' api
# on arka

Takma ad

--network-alias, container'a ağ içinde ek bir DNS adı verir. Birden çok container aynı takma adı taşıyabilir; DNS sorgusu hepsinin IP'sini döndürür (basit yük dağıtımı):

docker run -d --network uygulama-agi --network-alias arama elasticsearch:8.15.0
docker run -d --network uygulama-agi --network-alias arama elasticsearch:8.15.0
docker run --rm --network uygulama-agi alpine nslookup arama   # iki adres

Uygulama Ağa kat ve çıkar

Üç komut yaz: çalışan api container'ını arka ağına bağla; api içinde ping -c 1 db çalıştır; ardından api'yi arka ağından çıkar.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
docker network connect arka api
docker exec api ping -c 1 db
docker network disconnect arka api

Beklenen çıktı

PING db (172.20.0.2): 56 data bytes
64 bytes from 172.20.0.2: seq=0 ttl=64 time=0.098 ms

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir container iki ağa bağlıysa hangi container'lara erişebilir?

  • Yalnızca ana makineye
  • Her iki ağdaki container'lara Doğru cevap
  • Yalnızca ilk ağdakilere
  • Hiçbirine

Açıklama: Her ağ için ayrı bir arayüz ve IP alır.

2 Çalışan container'ı bir ağa bağla.

Soru
docker network ____ arka api
Cevap
docker network connect arka api

Açıklama: connect ağ container sırasıyla yazılır.

3 Eşleştir.

Kavram Anlamı
network connect Ağa kat
network disconnect Ağdan çıkar
--network-alias Ek DNS adı
nslookup DNS sorgusu

Başlangıç bölümündeki tüm dersler