Docker Networking'e Giriş: İş Akışı, Ağ Oluşturma Temelleri, Ağ Komutları
Yayınlanan: 2020-04-30İçindekiler
Tanıtım
Bu sanallaştırma çağında, ağ yöneticileri artık yalnızca yönlendiriciler, LAN/WAN bileşenleri ve anahtarlar gibi geleneksel ağ bileşenleri üzerinde çalışmıyor. Sanallaştırma platformlarında ağ bileşenleri üzerinde çalışmak zorundadırlar. Tüm BT endüstrisi, güçlü ağ oluşturma becerilerinin gerekli olduğu konteynerleştirme kavramıyla ilgileniyor.
Docker en çok kullanılan kapsayıcı yazılımlardan biri olduğundan, bir kapsayıcıyı yapılandırmak için Docker ağ oluşturma becerileri önemlidir. Şu anda 12.000'den fazla şirket, uygulamalarını göndermek için Docker konteynerlerini kullanıyor . Bu şirketler arasında JPMorgan Chase, ThoughtWorks ve Neudesic bulunmaktadır.
Bu yazıda , Docker ağının temelleri olan Docker'a giriş hakkında bilgi edineceğiz .
Önce Docker'ın temellerini anlayalım.
Docker nedir?
Docker, konteynerleştirme kavramını tanıtan bir yazılım paketleme platformudur. Konteynerleştirme, bir yazılım uygulamasının kitaplıklar, modüller ve işletim sistemi gibi tüm gerekli bağımlılıklarıyla paketlendiği süreçtir. Bu, yazılımı herhangi bir ortamda kolayca çalıştırılabilir hale getirir.
Bu yazılım paketlerine Docker kapsayıcıları denir . Bu kapsayıcılar, uygulamayı belirli bir ortama dağıtmak için kullanılır. Bir Ubuntu kabı, CentOS kabı, Tomcat-Ubuntu veya CakePHP kabı olabilir.

Diyelim ki Tomcat sunucusunun kurulu olduğu bir ortamda çalıştırılmak üzere bir Java uygulaması oluşturuldu. Geliştirmeden sonra uygulama test için gönderilir. Test edenlerin, uygulamayı çalıştırmak için Tomcat sunucusunu yeniden kurmaları gerekir. Ardından, yine aynı ortamın kurulmasını gerektirecek olan üretim ortamına gönderilecektir.
Ancak ortamın zaten içinde bulunduğu bir Docker konteyneri, sıfırdan başlama sorununu çözecektir. Böylece geliştiriciler, testçiler ve üretim birimi üyeleri, Tomcat sunucusunu tekrar tekrar kurmadan uygulamayı çalıştırabilir.
Okuyun: Docker Projesi Fikirleri ve Konuları
Docker İş Akışı
Uygulama veya proje kodu bir Docker dosyasına yazılır . Bu dosya, uygulama gereksinimlerini ve bağımlılıklarını içerir. Bu dosya, daha sonra dosyadaki kodu yürütmek için kullanılan bir Docker görüntüsü üretir.
Bir görüntü, uygulamayı çalıştırmak için gereken kodu, ortam değişkenlerini, yapılandırma dosyalarını, çalışma süresini ve kitaplıkları içerir. Görüntüler daha sonra Docker görüntülerinden oluşan bir GIT deposu olan Docker Hub'a yüklenir. Bu depolardan kendi Docker görüntülerinizi getirebilir ve yükleyebilirsiniz.
Kalite Güvence ekibinin üyeleri veya bir şirketin üretim ekibi, konteynerlerini geliştirmek için görüntüleri getirir. Tüm bu kapsayıcılar birbirinden izole edilebileceğinden, Docker ağı , birbirleriyle etkileşime girmelerini sağlayan kurallar dizisidir.
Artık temel bir Docker anlayışına sahip olduğunuza göre, Docker ağına daha yakından bakalım .
Ayrıca okuyun: Hindistan'da Docker Maaşı
Docker Networking B asics
Docker ilk kurulduğunda, üç farklı Docker ağı yapılandırılır - yok, ana bilgisayar ve köprü. Yok ve ana bilgisayar, Docker yığınının önemli bileşenleridir ve kaldırılamaz. Köprü ağı, docker0 ağı olarak bilinen yapılandırılabilir.
Docker, birçok ağ oluşturmak için kullanılabilir. Birden fazla ağa kapsayıcı ekleyebilirsiniz. Birden çok ağa bağlı bir kapsayıcı, bu ağların kapsayıcılarına bağlanabilir.
Docker'da kullanılan ana ağ sürücüleri aşağıdaki gibidir:
Köprü
Bu, Docker tarafından ana bilgisayarda oluşturulan özel varsayılan ağdır. Bu ağ tarafından otomatik olarak bir IP alt ağı ve ağ geçidi oluşturulur. Bu ağa ait konteynerler aynı alt ağın bir parçasıdır. Dolayısıyla bu ağdaki kapsayıcılar IP adresleme yoluyla iletişim kurar.
Köprü ağ sürücüleri, uygulama bağımsız bir kapsayıcıda yürütüldüğünde çok kullanışlıdır. Docker kurulumları, varsayılan olarak docker0'ı temsil eder. Konsola aşağıdaki komutu yazarsanız, Docker köprü ağını tanımlayacak JSON nesnesini döndürür:

liman işçisi ağı inceleme köprüsü
Ev sahibi
Ana bilgisayar sürücüsü, bağımsız kapsayıcılar için kullanılır . Bir kapsayıcı için ana bilgisayar ağ iletişimi modu kullanılıyorsa, Docker ana bilgisayarı ile ağ yığını arasındaki yalıtım kaldırılır. Kapsayıcı tahsis edilmiş bir IP adresi almıyor.
Örneğin, 80 numaralı bağlantı noktasına bağlanan bir kapsayıcı yürütülür ve ana bilgisayar ağı kullanılır. Bu durumda, kapsayıcının uygulaması, ana bilgisayarın IP adresindeki 80 numaralı bağlantı noktasında kullanılabilir olacaktır. Bu ağ modu, bir kapsayıcı çok sayıda bağlantı noktasını işlediğinde kullanışlıdır.
Ayrıca, ana bilgisayar sürücüsü, aynı tek ana bilgisayar üzerinde birkaç web kapsayıcısını çalıştırmanıza izin verir.
Hiçbiri
Bu ağ türünde, kapsayıcıların harici ağlara erişimi yoktur ve diğer kapsayıcılara veya ağlara bağlı değildir. Belirli bir kapsayıcıdaki ağ yığınını devre dışı bırakmak istediğinizde hiçbiri kullanılmaz.
Hiçbiri yalnızca bir geri döngü arabirimine sahip değildir; bu, harici ağ arabirimlerinin olmadığı anlamına gelir.
Kaplama
Bu, sürü kümesindeki tüm düğümleri kapsayan bir dahili özel ağ oluşturmak için kullanılır. Docker sürüsü ağı, Docker uygulamasını yürüten bir grup sanal veya fiziksel makinedir. Bu ağ sürücüsü, bağımsız kapsayıcı ile sürü hizmeti arasında iletişime izin verdiği için Docker ağ iletişiminde önemlidir .
Farklı Docker arka plan programlarındaki bağımsız kapsayıcılar da bu sürücüyle etkileşime girebilir. Bu nedenle, kapsayıcılar için işletim sistemi düzeyinde bir yönlendirme gerçekleştirmeniz gerekmez.
Macvlan
Bu ağ, bir kapsayıcıya bir MAC adresi atamanıza izin verir. Bu, fiziksel bir cihaz olarak görünmesini sağlar. Docker arka plan programı bu adresi kullanarak trafiği belirli bir yönlendiriciye yönlendirir. Docker arka plan programı, ana bilgisayar işletim sisteminde çalışan ve farklı etkinlikler gerçekleştirmek için onunla etkileşime giren bir sunucudur. Bir Macvlan ağı, kapsayıcılar arasındaki iletişimi basitleştirir.
Macvlan , fiziksel ağa bağlanması beklenen eski uygulamaları işlerken iyi bir seçenektir. Bir Macvlan ağı kurarsanız, iki modda olabilir – Köprü modu veya 802.1q ana köprü modu.
Ağ eklentileri
Docker ile üçüncü taraf bir ağ eklentisi kullanabilirsiniz. Bu eklentiler Docker Hub'da bulunur ve üçüncü taraf satıcılar aracılığıyla edinilebilir.
Docker Ağ Komutları
En yaygın liman işçisi ağ komutları aşağıdaki gibidir:
Docker ağlarını listeleyin
Bu kod, ana bilgisayardaki tüm Docker ağlarını listeler –
liman işçisi ağı ls
Docker ağı oluşturma
Aşağıdaki komut, bir kapsayıcı başlatmadan önce bir ağ oluşturmanıza yardımcı olacaktır:
docker ağı oluşturma – sürücü sürücü adı
Burada sürücü adı, ağ sürücüsüne verilen addır ve ad , Ağ komutlarını listele
Bu komut, mevcut ağ komutlarını listelemek için kullanılır:
liman işçisi ağı yardımı
Bir ağı kaldırma
Bir ağı kaldırmak için rm komutu kullanılabilir.
liman işçisi ağı rm ağ
Docker ağına bağlanma
Bir Docker ağı oluşturduğunuzda, varsayılan olarak köprü ağına bağlanır. Kapsayıcıyı çalıştırdığınızda başka bir ağa bağlanmak için aşağıdaki komut kullanılabilir:
liman işçisi konteyner çalıştırma -it –net=mynetwork nginx
Konteyner limanlarının elde edilmesi

port komutunu kullanarak konteynerin portunu alabilirsiniz:
liman işçisi bağlantı noktası konteyner_adı/kimliği
Çözüm
Docker, bugünlerde yazılım geliştirmenin çok önemli bir yönüdür. Gittikçe daha fazla şirket konteynerleştirmeye doğru ilerledikçe, konteynerleri izole etmek için ağ oluşturma önemlidir. Bu, birlikte güvenli bir şekilde çalışan web uygulamalarının geliştirilmesine olanak tanır. Bu ağlar, konteynerler arasında daha iyi iletişime yardımcı olur.
Docker, birçok şirketin dağıtım sürelerini iyileştirmesine ve bununla ilişkili maliyetleri azaltmasına yardımcı oldu. Bu nedenle, yeni başlayan biriyseniz, bu makale docker ağının temellerini anlamanız için faydalı olacaktır .
Tam yığın geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik sıkı eğitim, 9+ proje ve ödev, IIIT sunan Tam Yığın Yazılım Geliştirmede PG Diplomasına göz atın -B Mezunu statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.