Docker network olarak, swarm ve konteyner mantığıyla yönetim imkanı sunmaktadır. Bununla birlikte kendi içinde ingress, overlay, host ve bridge şeklinde ağ oluşturma imkanı sunmaktadır. Peki efendim bu networkler nasıl oluşturuluyor hangisi ne işe yarıyor ve biz bunun nimetlerinden nasıl faydalanbiliyoruz?

Docker network olarak kendi içinde, konteynerlar arası ya da dışarıya erişim olarak seçenekler sunar. Örnek ileride işleyeceğimiz docker-compose ya da docker stack dosyalarında oluşturacağımız dosyalarımızda mysql ve nginx kendi içinde haberleşsin ben ipsini bilmek istemiyorum adıyla ilgili konteynerı gör demek istiyorsak doğal olarak ortak bir network oluşturup ikisini bu networke dahil ediyoruz.

Bridge Network:

Docker kurulumu ile birlikte gelen ve varsayılan olarak oluşturulan tüm konteynerların aksi belirtilmedikçe dahil olduğu networktur. Aslına bakarsanız bu ağa giren tüm koneynerlar kendi aralarında iletişim halindedirler. Yani kendi içlerinde sürekli iletişime açıktırlar.

Host Network:

Konteynerlar bridge ağdan farklı olan bu host network ile çalıştırılırsa , ilgili konteynerlar hostumuzdaki tüm ağa erişebilir olacaktır.

None Network:

Bir konteynırın “none” ağa dahil olarak çalıştırılması durumunda o konteyner, docker network stack’ine alınır fakat herhangi bir ağ yapılandırılması söz konusu olmaz.

User Defined Network:

Bazı özel durumlarda konteynerların ağ ayarlamalarının yapılması gerekebilir. Gerekli komutları kullanarak kendi docker ağımızı oluşturarak , konteynerlarımızı bu ağlara dahil edebiliriz. 

Son olarak eklemek istediğim önemli bir hususta Oluşturulmuş olan konteynerlar aynı ağ içerisinde ise birbirlerine IP adresleri üzerinden ulaşabilirler. Burada dikkat edilmesi gereken bir nokta eğer konteyner isimleri üzerinden bir iletişim sağlanmak istenirse default ağ üzerinden değil custom bir ağ içinde konetynerların ayarlanmış olması gerekmektedir.

docker network ls #docker ağ listesini görüntüler
docker network rm # ağı eğer kullanılmıyorsa kaldırır
docker network inspect # ağ yapılandırmasını ve kullanıcıları listeler.
docker network add # yeni ağ ekler
docker network connect # bir konteyneri ağa bağlar
docker network disconnect # bir koneyneri ağdan çıkartır
örnek:
 docker network connect --ip 10.10.36.122 benim_agim container
Share: