Ana Sayfa / Dokümanlar / Docker Network
KTD-011

Docker Network Yapısı ve Container Haberleşmesi

Bu dokümanda Docker network yapısını, varsayılan network türlerini, özel network oluşturmayı, container'ların birbirleriyle nasıl haberleştiğini ve Nginx Proxy Manager ile ortak network kullanımını adım adım öğreneceğiz.

Docker Network Container Bridge Nginx Proxy Manager
Okuma Süresi 25-35 dakika
Bölüm Sayısı 13 bölüm
Son Güncelleme Temmuz 2026
Seviye Başlangıç

Docker Network Nedir?

Docker Network, container'ların birbirleriyle, host makineyle ve internet ile haberleşmesini sağlayan sanal ağ yapısıdır.

📌 Gerçek Proje Notu

Bizim yapımızda kemaltokmak.com container'ı ile Nginx Proxy Manager aynı network üzerinde çalıştığında, NPM container adına göre yönlendirme yapabilir.

Docker Network Neden Önemlidir?

VPS üzerinde birden fazla container çalıştırdığımızda bu container'ların düzenli şekilde haberleşmesi gerekir.

  • Container'lar birbirlerine isimleriyle erişebilir.
  • IP adresi ezberlemeye gerek kalmaz.
  • Projeler birbirinden daha düzenli ayrılır.
  • Nginx Proxy Manager yönlendirmeleri daha kolay yapılır.

Docker Network Listeleme

Sunucudaki Docker network'lerini görmek için:

docker network ls

Varsayılan Docker Network Türleri

Bridge Network

Docker'ın varsayılan network tipidir. Container'lar genellikle bridge network üzerinde çalışır.

Host Network

Container, host makinenin ağını doğrudan kullanır.

None Network

Container herhangi bir ağa bağlanmaz.

docker network inspect bridge

Özel Docker Network Oluşturma

Gerçek projelerde varsayılan bridge yerine özel network oluşturmak daha doğru bir yöntemdir.

docker network create web

Oluşturulan network'ü kontrol etmek için:

docker network ls

Container'ı Network ile Çalıştırma

Bir container'ı oluşturduğumuz özel network'e bağlı şekilde çalıştırabiliriz.

docker run -d \
  --name nginx-test \
  --network web \
  nginx:alpine

Container'lar Arası Haberleşme

Aynı custom network içerisinde bulunan container'lar birbirlerine container adıyla erişebilir.

docker run -d --name web1 --network web nginx:alpine

docker run -it --name test-client --network web alpine sh

wget -qO- http://web1
⚠️ Dikkat

Container IP adresleri değişebilir. Bu yüzden IP adresi yerine container adı kullanmak daha güvenli ve doğru bir yöntemdir.

Network Bilgilerini İnceleme

Bir network içindeki container'ları, subnet bilgisini ve gateway bilgisini görmek için inspect komutu kullanılır.

docker network inspect web

Çalışan Container'ı Network'e Sonradan Bağlama

Çalışan bir container daha sonra başka bir Docker network'e bağlanabilir.

docker network connect web nginx-test

Network'ten ayırmak için:

docker network disconnect web nginx-test

Docker Compose ile Network Kullanımı

Docker Compose dosyasında daha önce oluşturulmuş external network kullanılabilir.

services:
  app:
    image: nginx:alpine
    container_name: app
    networks:
      - web

networks:
  web:
    external: true

Nginx Proxy Manager ile Network Kullanımı

Nginx Proxy Manager'ın web sitesi container'ına ulaşabilmesi için iki container'ın aynı Docker network üzerinde olması gerekir.

docker network connect web nginx-proxy-manager
docker network connect web kemaltokmak

Daha sonra Nginx Proxy Manager içinde Forward Hostname alanına container adı yazılır:

Scheme: http
Forward Hostname / IP: kemaltokmak
Forward Port: 80
ℹ️ Bilgi

Bu yapı sayesinde container IP adresi değişse bile Nginx Proxy Manager container adına göre yönlendirme yapmaya devam eder.

Sık Kullanılan Docker Network Komutları

docker network ls
docker network create web
docker network inspect web
docker network connect web container_adi
docker network disconnect web container_adi
docker network rm web
docker network prune

Bu Dokümanda Ne Öğrendik?

Bu dokümanda Docker network yapısını, network türlerini, özel network oluşturmayı, container'ları aynı network üzerinde çalıştırmayı ve Nginx Proxy Manager ile container haberleşmesini öğrendik.

✅ Özet
  • Docker Network yapısının ne işe yaradığını öğrendik.
  • Bridge, host ve none network türlerini gördük.
  • Özel Docker network oluşturduk.
  • Container'ları aynı network üzerinde çalıştırdık.
  • Container adıyla haberleşmeyi test ettik.
  • Nginx Proxy Manager ile ortak network kullanımını öğrendik.
Sonraki Doküman KTD-012 — Docker Compose ile Çoklu Container Yönetimi