Docker, kapsayıcıların yönetimi ve organizasyonu için güçlü bir platformdur ve ağ oluşturma, bu kapsayıcıların birbiriyle etkileşimini sağlamak için kritik bir bileşendir. Docker, farklı türde ağlar oluşturulmasına olanak tanır ve bu sayede kapsayıcıların birbirleriyle iletişim kurmasını veya belirli bir dış hizmetle bağlantı kurmasını sağlamak mümkündür. `docker network create` komutu, Docker üzerinde yeni bir ağ oluşturmak için kullanılan temel komutlardan biridir. Bu komut, ağın özellikleri ve yapılandırmaları hakkında çeşitli seçenekler sunar.
Docker Ağlarının Temel Özellikleri
Docker ağları, kapsayıcılar arasında iletişimi sağlamak için kullanılan sanal ağlardır. Kapsayıcılar, varsayılan olarak kendi ağlarında çalışır, ancak aynı zamanda farklı ağlar oluşturulabilir ve kapsayıcılar bu ağlara bağlanabilir. Docker, kullanıcıların özel gereksinimlerine uygun olarak çeşitli ağ türleri sunar. Bu türler arasında bridge (köprü), host, overlay ve none ağları bulunmaktadır.
– Bridge Ağı: Varsayılan olarak Docker’ın kurulumuyla gelen ve kapsayıcıların yerel makine içinde birbirleriyle iletişim kurmasını sağlayan bir ağ türüdür. Genellikle uygulama geliştirme sürecinde sıkça tercih edilir.
– Host Ağı: Bu ağ modunda, kapsayıcılar doğrudan ana makinenin ağ arayüzlerine erişir ve ayrılmış bir IP adresi almazlar. Performans açısından avantaj sağlayabilir.
– Overlay Ağı: Docker Swarm ve benzeri çoklu host ortamlarında kullanılır. Farklı ana bilgisayarlar üzerinde çalışan kapsayıcıların birbirleriyle iletişim kurmasını sağlar.
– None Ağı: Bağlantı noktası ve ağ iletişimi gerektirmeyen uygulamalar için kullanılır. Bu moda ayarlanmış kapstayıcılar, hiçbir ağa erişim sağlamaz.
`docker network create` Komutu
Yeni bir ağ oluşturmak için `docker network create` komutu kullanılmaktadır. Bu komut ile birlikte, ağın adı ve türü gibi çeşitli seçenekler belirtilir. Temel kullanım şekli aşağıdaki gibidir:
“`
docker network create [OPTIONS] NETWORK_NAME
“`
`NETWORK_NAME`, oluşturulacak ağın adını belirtir. Ayrıca `OPTIONS` kısmında ağ oluşturma sürecini özelleştiren çeşitli seçenekler mevcuttur.
Ağ Özellikleri ve Seçenekleri
Docker ağlarını oluştururken kullanılabilecek bazı önemli seçenekler şunlardır:
– `–driver`: Ağın türünü belirtir. Örneğin, `bridge`, `overlay` veya `host` gibi.
– `–subnet`: Ağın alt ağ adresini belirtir. Kapsayıcıların hangi IP adres aralığını kullanacağına dair detaylar verir.
– `–gateway`: Ağ için özel bir geçit adresi belirler. Kapsayıcıların dış hizmetlerle nasıl iletişim kuracağını tanımlar.
– `–ip-range`: Kapsayıcıların alabileceği IP adres aralığını sınırlamak için kullanılır.
– `–label`: Ağ için özel etiketler ekler. Bu, ağların yönetimi ve organizasyonu sırasında yardımcı olabilir.
Örnek Kullanım Senaryosu
Bir Docker ağı oluşturmak için şu örnek komut kullanılabilir:
“`
docker network create –driver bridge my_bridge_network
“`
Bu komut, `my_bridge_network` adında yeni bir köprü ağı oluşturur. Oluşturulan ağ ile ilgili özellikler `docker network inspect my_bridge_network` komutuyla görüntülenebilir. Bu komut, ağa bağlı kapsayıcılar, IP adresleri ve diğer yapılandırma bilgileri hakkında detaylı bilgi sağlar.
Ağlarla İlgili Yönetim Komutları
Docker, oluşturulan ağları yönetmek için çeşitli komutlar sunar. Bu komutlar arasında ağların listelenmesi, silinmesi ve detaylarının incelenmesi gibi işlemler yer alır.
– Ağları Listeleme: `docker network ls` komutu, mevcut ağların listesini gösterir.
– Ağ Detaylarını Görüntüleme: `docker network inspect [NETWORK_NAME]` komutu, belirli bir ağ hakkında detaylı bilgiler sağlar.
– Ağ Silme: `docker network rm [NETWORK_NAME]` komutu, belirtilen ağı silmek için kullanılır. Ancak, eğer ağda bağlı kapsayıcılar varsa, önce bu kapsayıcıların bağlantısının kesilmesi gerekir.
Kapsayıcıların Ağa Bağlanması
Oluşturulan bir ağa, yeni kapsayıcılar eklemek oldukça kolaydır. Kapsayıcı oluşturulurken `–network` seçeneği kullanılarak, hangi ağa bağlanacağı belirtilebilir. Örneğin:
“`
docker run -d –name my_container –network my_bridge_network nginx
“`
Bu komut, `nginx` imajı ile yeni bir kapsayıcı yaratır ve onu önceden oluşturulan `my_bridge_network` ağına bağlar.
Sonuç
Docker üzerinde ağ oluşturma, kapsayıcı iletişimini yapılandırmanın etkin bir yöntemidir. `docker network create` komutu sayesinde, ağlar özelleştirilip yapılandırılabilir, böylece uygulama performansı artırılabilir ve yönetim kolaylığı sağlanabilir. Farklı ağ türlerini ve özelliklerini kullanarak, uygulamalar arasında istenilen iletişim şekilleri oluşturulabilir. Docker ağ yönetimi, kapsayıcıların çalışma zamanında esnekliği için kritik bir rol oynamaktadır.