🐳 Docker Swarm: Container Orkestrasyonuna İlk Adım
Docker ile tekil container’ları yönetmek kolaydır. Ama iş büyüyüp birden fazla sunucuda onlarca container çalıştırmaya geldiğinde işler…
🐳 Docker Swarm: Container Orkestrasyonuna İlk Adım
Docker ile tekil container’ları yönetmek kolaydır. Ama iş büyüyüp birden fazla sunucuda onlarca container çalıştırmaya geldiğinde işler karışır. İşte bu noktada orkestrasyon ihtiyacı ortaya çıkar.
Kubernetes bu işin en popüler çözümü olsa da, öğrenmesi biraz daha karmaşıktır. Docker’ın kendi içinde sunduğu daha basit bir çözüm vardır: Docker Swarm.

🔹 Docker Swarm Nedir?
Docker Swarm, birden fazla Docker host’u (node) bir araya getirerek bunları tek bir cluster gibi yönetmemizi sağlar.
Temel kavramlar:
- Manager Node → Cluster’ı yöneten, hangi container nerede çalışacak kararını veren node
- Worker Node → Manager’ın verdiği görevleri yerine getiren işçi node
- Service → Bir container grubunu tanımlar (ör. 3 kopya nginx)
- Task → Service’in tekil bir container örneği
🔹 Neden Docker Swarm?
- ⚖️ Yük dengeleme (Load Balancing) → Servis trafiği otomatik dağıtılır
- 🛡️ Yüksek erişilebilirlik (High Availability) → Node çökerse container başka node’da yeniden başlatılır
- 📈 Ölçeklendirme (Scaling) → Tek komutla container sayısı artırılıp azaltılabilir
- 🎛️ Kolay yönetim → Tek Docker CLI üzerinden tüm cluster yönetilebilir
🔹 Swarm Cluster Nasıl Kurulur?
Kurulum işletim sistemine göre farklılık gösterebilir:
- Linux → Docker Engine kuruluysa Swarm desteği içindedir, ayrıca kurulum gerekmez
- Docker Desktop (Windows / macOS) → Swarm özelliği varsayılan olarak gelir, direkt kullanılabilir
- Windows Server (Linux olmayan) → Swarm desteği sınırlıdır, genellikle Linux node’larla cluster kurulur
Manager node’da Swarm’ı başlatmak için:
docker swarm init
👉 Çıktıda size bir docker swarm join komutu verilecektir. Bu komutu diğer makinelerde çalıştırarak cluster’a Worker node ekleyebilirsiniz.
🔹 Play with Docker: Hızlı Deneme Ortamı
Swarm’ı kendi bilgisayarınıza kurmak istemezseniz, Play with Docker üzerinden deneyebilirsiniz.
- Adres: https://labs.play-with-docker.com
- GitHub veya Docker Hub hesabıyla giriş yapabilirsiniz
- Size tarayıcı üzerinden sanal makineler verir
- Bu makinelerde
docker swarm initvedocker swarm joinkomutlarını çalıştırarak gerçek bir cluster oluşturabilirsiniz - Ücretsizdir, ancak oturumlar 4 saat sonra kapanır
👉 Özellikle öğrenme ve deneme amaçlı Swarm için harika bir ortamdır.
🔹 Service ve Replicas
Bir servis oluşturmak için:
docker service create --name web --replicas 3 -p 80:80 nginx
--replicas 3→ 3 adet Nginx container çalıştırılır- Swarm, bu container’ları farklı node’lara dağıtır
- Çalışan servisleri listelemek için:
docker service ls
🔹 Ölçeklendirme
Servisi kolayca büyütüp küçültebilirsiniz:
docker service scale web=5
👉 Artık 5 kopya Nginx container çalışıyor.
🔹 Rolling Update
Swarm servisleri kesintisiz güncelleyebilir:
docker service update --image nginx:1.25 web
👉 Container’lar sırayla güncellenir, sistem hiç durmaz.
🔹 Logları Görmek
Swarm servisinin tüm container loglarını tek ekranda görebilirsiniz:
docker service logs web
👉 Özellikle birden fazla node’daki container’ların davranışını takip etmek için çok faydalıdır.
🔹 CPU Kısıtlama (Opsiyonel)
Büyük sistemlerde kaynak yönetimi önemlidir. Swarm’da servis başlatırken CPU kısıtlaması ekleyebilirsiniz:
docker service create \
--name web \
--replicas 3 \
--limit-cpu 1.5 \
-p 80:80 \
nginx
👉 Burada her container en fazla 1.5 CPU core kullanabilir.
Ayrıca minimum kaynak garantisi için:
docker service create \
--name db \
--reserve-cpu 1 \
mysql:8.0
👉 Böylece sistemin kaynaklarını daha verimli ve kontrollü şekilde kullanabilirsiniz.
🔹 Swarm’dan Çıkış
- Worker node’u çıkarmak için:
docker swarm leave
- Manager node’u çıkarmak için:
docker swarm leave --force
🎯 Sonuç
Docker Swarm ile:
- Birden fazla node’u tek bir cluster halinde yönetebilir
- Servisleri kolayca ölçeklendirebilir
- Yük dengeleme ve yüksek erişilebilirlik sağlayabilir
- Rolling update ile kesintisiz güncellemeler yapabilirsiniz
Kubernetes kadar kapsamlı olmasa da, Docker Swarm öğrenmesi kolay, kurulumu hızlı bir çözüm. Özellikle Play with Docker gibi ortamlarda birkaç deneme yaparak orkestrasyonun gücünü hızlıca görebilirsiniz. 🚀
Docker ile ilgili diğer yazılarımı incelemeyi unutmayın!🎉
📚 Referanslar
메타데이터
- post_id
- 40e17a5e44bf
- slug
- docker-swarm-container-orkestrasyonuna-i̇lk-adım-40e17a5e44bf
- url
- https://medium.com/@edpuzn/docker-swarm-container-orkestrasyonuna-i%CC%87lk-ad%C4%B1m-40e17a5e44bf
- canonical_url
- https://medium.com/@edpuzn/docker-swarm-container-orkestrasyonuna-i%CC%87lk-ad%C4%B1m-40e17a5e44bf
- author_url
- https://medium.com/@edpuzn
- status
- ok
- fetched_at
- 2026-06-11 05:11:55