Linux Networking & TCP/IP for Developers · Ders

Docker Ağ Modları

Docker'ın çeşitli ağ sürücülerini (köprü, ana makine, kaplama) keşfedin ve bunların kapsayıcı iletişimine etkilerini anlayın.

1. ders / 411 adım

Docker Ağ Modları, CoddyKit'te ücretsiz bir Linux Networking & TCP/IP for Developers dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Networking & TCP/IP for Developers öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Networking & TCP/IP for Developers kursu toplamda 4 dersten oluşur.

Konteynerlerin Konuşması Gerekir!

Docker konteynerleri varsayılan olarak yalıtılmıştır; ancak çoğu zaman birbirleriyle veya dış dünyayla iletişim kurmaları gerekir. Docker bunu yönetmek için çeşitli ağ sürücüleri sunar.

Bu sürücüler, doğru iletişim ve yalıtmayı sağlayarak konteynerlerin birbirine ve ana makinenin ağına nasıl bağlanacağını tanımlar.

Standart: Köprü Ağı

Bir ağ belirtmediğinizde Docker otomatik olarak varsayılan köprü ağını kullanır. Bunu Docker'ın ana makinenizde oluşturduğu sanal bir anahtar gibi düşünebilirsiniz.

Bu köprüye bağlanan her konteyner kendi IP adresini alır ve aynı köprüdeki diğer konteynerlerle IP adreslerini kullanarak iletişim kurabilir.

Varsayılan Köprü İş Başında

Varsayılan köprü ağını inceleyip ona bağlı bir konteyneri görelim. Bu, Docker'ın bu sanal ağ içinde IP adreslerini nasıl atadığını gösterir.

Varsayılan köprüyü ve bir konteynerin IP adresini görmek için bu komutları çalıştırın.

docker network ls
docker run -d --name mynginx nginx
docker inspect --format='{{.NetworkSettings.IPAddress}}' mynginx
docker stop mynginx
docker rm mynginx

Ana Makinenin Ağını Paylaşma

Ana makine ağ kipi, konteyner ile ana makine arasındaki ağ yalıtımını kaldırır. Konteyner, ana makinenin ağ yığınını doğrudan kullanır.

Bu, konteynerin bağlantı noktalarının herhangi bir bağlantı noktası eşlemesi olmadan doğrudan ana makinenin IP adresinde dışarıya açılması anlamına gelir. Yüksek performans sunar; ancak yalıtmayı önemli ölçüde azaltır.

Ana Makine Kipini Gösterme

Bir konteyner ana makine kipinde çalıştığında, ana makinenin ağında başka bir işlem haline gelir. Ağ arayüzleri ve IP adresleri ana makineninkilerle aynı olur.

Bir konteynerin ana makine kipindeki ağ ayrıntılarını görmek ve bunları ana makinenizin ağ yapılandırmasıyla karşılaştırmak için bu komutu çalıştırın.

docker run --rm --network host alpine ip a
# Compare with your host's `ip a` output!

Birden Çok Ana Makineye Yayılma: Kaplama

Kaplama ağları, birden çok ana makinedeki konteynerlerin iletişimi için tasarlanmıştır ve genellikle Docker Swarm veya Kubernetes kümelerinde kullanılır.

Farklı fiziksel veya sanal makinelerdeki konteynerlerin, aynı yerel ağdaymış gibi sorunsuz bir şekilde iletişim kurmasını sağlar. Bu, dağıtık uygulamalar için hayati önem taşır.

Köprülerinizi Özelleştirme

Varsayılan köprü yararlı olsa da kullanıcı tanımlı köprü ağları en iyi uygulamadır. Varsayılan köprüye göre çeşitli avantajlar sunarlar:

  • Daha İyi Yalıtım: Uygulamanızın ağını ayrı tutar.
  • Otomatik DNS: Konteynerler birbirlerini yalnızca IP ile değil, adla da bulabilir!
  • Taşınabilirlik: Uygulamaları ana makineler arasında taşımak daha kolaydır.

Özel Köprü Oluşturma

Kendi özel köprü ağımızı oluşturalım ve konteynerleri bu ağa bağlayalım. Aynı kullanıcı tanımlı köprüdeki konteynerlerin birbirlerini konteyner adlarıyla nasıl çözümleyebildiğini gözlemleyin.

Bu, konteynerler arası iletişimi çok daha basit ve güvenilir hale getirir.

docker network create myapp_network
docker run -d --name myapp_server --network myapp_network alpine/git sh -c "while true; do echo 'Hello from server!' | nc -l -p 8080; done"
docker run --rm --network myapp_network alpine/git sh -c "apk add --no-cache netcat-openbsd && sleep 2 && nc myapp_server 8080"
docker stop myapp_server
docker rm myapp_server
docker network rm myapp_network

Konteynerlerin Adla İletişim Kurması

Önceki örnekte istemci konteyneri, konteyner adını kullanarak myapp_server'a başarıyla bağlandı. Bu, kullanıcı tanımlı köprü ağlarının önemli bir avantajıdır.

Docker'ın yerleşik DNS hizmeti, özel ağ içindeki konteyner adlarını otomatik olarak IP adreslerine çözümler ve hizmet keşfini kolaylaştırır.

Bilginizi Sınayın!

Docker ağ kipleri hakkında aşağıdaki ifadelerden hangileri DOĞRUDUR?

Docker Ağları: Hızlı Bir Tekrar

Konteyner iletişimini sağlayan temel Docker ağ kiplerini inceledik:

  • Bridge: Tek bir ana makinedeki konteyner iletişimi için varsayılan kip.
  • Host: Yüksek performans, ancak daha az yalıtım için konteyner ana makinenin ağ yığınını paylaşır.
  • Overlay: Docker Swarm gibi kümelenmiş ortamlarda birden çok ana makine arasındaki iletişim için kullanılır.
  • User-Defined Bridge: Yalıtım ve adla otomatik DNS çözümlemesi sunan, özel uygulama ağları için en iyi uygulamadır.

Bu kipleri anlamak, sağlam ve ölçeklenebilir konteynerleştirilmiş uygulamalar tasarlamak için hayati önem taşır.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Linux Networking & TCP/IP for Developers öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
12
Dersler
48

Sıkça Sorulan Sorular

“Docker Ağ Modları” dersi ücretsiz mi?

Evet — “Docker Ağ Modları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Networking & TCP/IP for Developers kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Networking & TCP/IP for Developers kursu toplamda 4 dersten oluşur.

“Docker Ağ Modları” dersinde ne öğreneceğim?

Docker'ın çeşitli ağ sürücülerini (köprü, ana makine, kaplama) keşfedin ve bunların kapsayıcı iletişimine etkilerini anlayın. Linux Networking & TCP/IP for Developers ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Linux Networking & TCP/IP for Developers öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Linux Networking & TCP/IP for Developers, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Docker Ağ Modları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Linux Networking & TCP/IP for Developers dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Linux Networking & TCP/IP for Developers dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Docker Ağ Modları
  2. Kubernetes Ağ Temelleri
  3. Kapsayıcılarda Ağ İlkeleri
  4. Kubernetes'te Hizmet Keşfi ve DNS
← Linux Networking & TCP/IP for Developers Sayfasına Dön