Docker Compose konusu kâğıt üzerinde basit görünse de yanlış bir ayar veya yanlış kapasite seçimi, daha sonra performans ve kesinti problemi olarak geri dönebilir.
Aşağıdaki bölümlerde temel mantığı, uygulanabilir adımları ve sahada en sık karşılaşılan hataları sade bir dille ele alacağız.
Docker Compose kurulumu için gerekenler
- Docker Engine’in çalıştığını doğrulayın.
- Eski bağımsız `docker-compose` ile yeni `docker compose` eklentisini karıştırmayın.
- Kullanıcının Docker grubuna eklenmesinin root düzeyinde yetki sağladığını bilin.
Adım adım uygulama
- Paket listesini güncelleyin.
- Dağıtımın paket deposundan Docker Compose eklentisini kurun.
- `docker compose version` ile sürümü doğrulayın.
- Basit bir `compose.yaml` dosyası oluşturun.
- `docker compose up -d` ile servisleri başlatın.
sudo apt update
sudo apt install docker-compose-plugin
docker compose version
İşlemden sonra kontrol edin
- Üretimde `latest` etiketine güvenmek yerine sürüm sabitleyin.
- Parola ve anahtarları compose dosyasına açık metin olarak yazmayın.
Küçük başlayan bir proje ölçüm yapılarak kademeli büyütülebilir.
Değişiklik tamamlandıktan sonra yalnızca ilk bağlantının çalışmasına bakmayın. Olay günlüklarını, servis durumunu ve birkaç farklı istemciden erişimi kontrol ederek yapılandırmanın kalıcı biçimde çalıştığını doğrulayın.
Yapılandırmayı kalıcı hâle getirin
Kaynak sorunu yaşandığında CPU, bellek, disk ve ağ değerlerini aynı zaman aralığında incelemek gerekir. Yüksek load average disk beklemesinden kaynaklanabilir; boş RAM’in az görünmesi Linux önbelleği nedeniyle normal olabilir. Tek bir ekran görüntüsü yerine birkaç dakikalık veya saatlik ölçüm daha doğru fikir verir.
Docker Compose işlemini uygulamadan önce mevcut yapılandırmanın bir kopyasını almak, Linux sunucu yönetiminde en basit ama en etkili alışkanlıklardan biridir. Dosya adının sonuna tarih eklemek ve değişikliği küçük adımlarla yapmak, sorun çıktığında eski ayara hızlı dönmeyi sağlar. Özellikle ağ ve SSH yapılandırmasında açık oturumu test bitene kadar kapatmamak gerekir.
Komutun başarılı dönmesi her zaman servisin beklenen biçimde çalıştığı anlamına gelmez. `systemctl status`, `journalctl`, dinlenen portlar ve uygulama logları birlikte kontrol edilmelidir. Değişiklik yeniden başlatma sonrasında kayboluyorsa elle girilen geçici ayar yerine kalıcı yapılandırma dosyası düzenlenmelidir.
Otomasyon için yazılan komutların hata kontrolü ve log üretmesi önemlidir. Cron’a eklenen sessiz bir script aylarca çalışmıyor olabilir. Kritik görevlerde çıkış kodunu, hedef disk alanını ve yedek dosyasının gerçekten oluştuğunu ayrıca izlemek gerekir.
Docker Compose için bakım planı oluştururken güncelleme, yedekleme, kapasite kontrolü ve güvenlik incelemesini ayrı görevler hâline getirmek gerekir. Bu görevlerin yalnızca sorun çıktığında yapılması yerine belirli aralıklarla tekrarlanması, plansız kesinti ve veri kaybı ihtimalini azaltır.
Yayın veya kurulum tamamlandıktan sonra Docker Compose için yalnızca bir kez kontrol yapmak yeterli değildir. İlk gün, ilk yoğun kullanım ve ilk yedekleme sonrasında değerleri yeniden incelemek gerekir. Başlangıçta görünmeyen darboğazlar çoğu zaman gerçek trafik geldiğinde ortaya çıkar; erken fark edilen sorunlar daha küçük bir müdahaleyle çözülebilir.
Docker Compose işlemini ekip içinde tekrar uygulamak gerekebileceği için kullanılan komutları, dosya yollarını ve eski değerleri kısa bir notta saklayın. Böylece aynı sorun yeniden yaşandığında sıfırdan araştırma yapmak yerine doğrulanmış adımları takip edebilirsiniz. Özellikle uzak sunucularda geri dönüş komutunun önceden hazır olması bağlantı kaybı riskini azaltır.
Sık sorulan sorular
Bu işlemi canlı sistemde yapmak güvenli mi?
Değişikliğin etkisine göre yedek, bakım aralığı ve geri dönüş planı hazırlanmalıdır. Kritik sistemlerde önce test ortamı kullanılmalıdır.
Tek bir değerle doğru karar verilebilir mi?
Genellikle hayır. Performans, maliyet, güvenlik ve yönetim yükü birlikte değerlendirilmelidir.