1. Docker Servisinin Çalıştığından Emin Olun
İlk adım, Docker servisini kontrol etmek olmalı. Çünkü çoğu zaman, bu hata Docker'ın çalışmaması nedeniyle meydana gelir. Docker servisi düzgün bir şekilde başlamadığında, bağlantı kurmaya çalıştığınızda "Connection Refused" hatası alırsınız.
Bunun için terminale şu komutu yazabilirsiniz:
sudo systemctl status docker
Eğer servis çalışıyorsa, "active (running)" yazısını görmelisiniz. Eğer yazı "inactive" ya da "failed" görünüyorsa, Docker servisini yeniden başlatmanız gerekebilir. Şu komutla servisi yeniden başlatabilirsiniz:
sudo systemctl restart docker
2. Port ve Firewall Ayarlarını Kontrol Edin
Docker'ın çalıştığından emin olduktan sonra, bir sonraki adım, portların ve güvenlik duvarı ayarlarının doğru yapıldığından emin olmaktır. Docker, belirli portlar üzerinden bağlantı kurar. Eğer bu portlar engellenmişse, "Connection Refused" hatası alabilirsiniz.
Öncelikle Docker konteynerinin hangi portu dinlediğini kontrol edin:
docker ps
Eğer burada doğru portları görüyorsanız, güvenlik duvarı (firewall) ayarlarını kontrol etmelisiniz. Linux üzerinde, `ufw` (Uncomplicated Firewall) kullanıyorsanız, şu komutla bağlantı portlarını açabilirsiniz:
sudo ufw allow
Portu açtıktan sonra, firewall'ı yeniden başlatmayı unutmayın:
sudo ufw reload
3. Docker Konteynerinin Loglarını Kontrol Edin
Hata aldığınız konteynerin loglarını kontrol etmek de çok önemlidir. Docker konteynerleri, çalışma sırasında meydana gelen hataları loglara kaydeder. Bu logları görmek için şu komutu kullanabilirsiniz:
docker logs
Bu loglar, size hatanın kaynağı hakkında daha fazla bilgi verebilir. Eğer bağlantı hatası sunucu tarafında meydana geliyorsa, bu loglarda hata mesajları görebilirsiniz.
4. Docker Compose Kullanıyorsanız, Konfigürasyonları Kontrol Edin
Docker Compose kullanıyorsanız, `docker-compose.yml` dosyanızda bazı hatalar olabilir. Bağlantı hataları genellikle yanlış yapılandırılmış ağ ayarlarından kaynaklanır. Özellikle konteynerler arası bağlantılar için doğru ağın tanımlandığından emin olun.
Örnek bir ağ ayarı şöyle olabilir:
networks:
default:
external:
name: my_custom_network
Ağ adının doğru ve geçerli bir ağ adı olduğuna dikkat edin.
5. Docker Güncellemelerini Yapın
Docker sürümünüzün güncel olup olmadığını da kontrol etmek önemlidir. Eski sürümler bazen bağlantı hatalarına neden olabilir. Docker'ı güncellemek için şu komutu kullanabilirsiniz:
sudo apt-get update
sudo apt-get upgrade docker-ce
Güncelleme işlemi sonrası Docker'ı yeniden başlatmayı unutmayın!
Sonuç
Docker’da "Connection Refused" hatası aldığınızda, bu birkaç farklı sorundan kaynaklanabilir. Bu yazıda, bu hatayı çözmek için başvurabileceğiniz temel adımları sıraladık. Docker servisini yeniden başlatmak, portları ve firewall ayarlarını kontrol etmek, konteyner loglarını gözden geçirmek, Docker Compose dosyasını doğru yapılandırmak ve Docker'ı güncel tutmak, bu tür hataların çözülmesine yardımcı olacaktır.
Unutmayın, her zaman sabırlı olun ve sisteminizin her bir parçasını dikkatlice kontrol edin. Docker'ı daha etkin kullanmanın keyfini çıkarın!