Docker Container’lar Boot Sonrası Çalışmıyor – Sorun ve Çözüm Süreci

📅 9 Temmuz 2025Emre Karabulut
⏱️ Yaklaşık 2 dakikalık okuma süresi

📝 Giriş

Kurumsal ortamlarda Docker container’larının yeniden başlatma sonrası otomatik olarak çalışmaması sık karşılaşılan bir problemdir. Bu senaryoda bir sistem yöneticisinin, sunucu yeniden başlatıldığında container’ların çalışmadığını fark etmesiyle başlayan gerçek bir sorun çözüm süreci ele alınmaktadır.

🔍 Sorunun Belirtileri

– `docker ps` çıktısı boş geliyor
– `docker container ls -a` komutunda container’lar görünse bile *exited* durumda
– Hizmetlere dışarıdan erişilemiyor
– Log dosyalarında herhangi bir otomatik başlatma kaydı yok

🧪 Teşhis Adımları

1. `docker inspect <container_id>` ile container detayları incelendi
2. `RestartPolicy` değerinin `no` olduğu görüldü
3. `journalctl -u docker` ile docker servisi yeniden başlatıldığında hatasız çalıştığı teyit edildi
4. Bazı container’larda `–restart unless-stopped` parametresinin kullanılmadığı anlaşıldı

🛠️ Çözüm

Container’ları yeniden oluştururken uygun restart policy tanımlandı:


docker run -d –name webapp –restart unless-stopped nginx

– `–restart unless-stopped`: Container sistem yeniden başlatıldığında otomatik olarak başlar.
– Alternatif: `–restart always` (manuel durdurulsa bile yeniden başlatılır)

📋 Ek Kontroller

– Docker servisi enable edilmemiş olabilir:
  `sudo systemctl enable docker`
– Sistem clock hataları varsa, `ntp` veya `systemd-timesyncd` servisleri kontrol edilmelidir
– Sistem shutdown sırasında volume detach problemleri varsa loglar detaylı incelenmelidir

🎯 Sonuç

Docker container’larının boot sonrası çalışmaması çoğunlukla restart policy eksikliğinden kaynaklanır. Kritik servislerin bulunduğu ortamlarda her container mutlaka uygun bir `–restart` parametresiyle yapılandırılmalıdır. Ayrıca docker servisi sistem açılışında çalışacak şekilde ayarlanmalıdır.

Emre Karabulut
📊 Bu yazı 105 kez okundu.