Docker 'Port is Already Allocated' Hatası Nasıl Çözülür?
Docker üzerinde yeni bir container (örneğin Nginx veya Apache içeren bir web container) ayağa kaldırmaya çalışırken terminalde **"Bind for 0.0.0.0:80 failed: port is already allocated"** (Port zaten ayrılmış/kullanılıyor) hatası alabilirsiniz. Bu hata, container'ın kullanmaya çalıştığı portun sunucu üzerinde zaten başka bir aktif servis tarafından işgal edildiğini gösterir.
1. Portu Kullanan Servisi Bulma
Sunucu üzerinde örneğin 80. portu hangi PID (süreç numarası) veya uygulamanın kullandığını lsof veya netstat ile tespit edelim:
lsof -i :80
Çıktıda portu kullanan uygulamanın adı (Örn: `apache2` veya `nginx`) görünecektir.
2. Sorunu Çözme Seçenekleri
- **Mevcut Servisi Durdurmak:** Eğer portu meşgul eden yerel servise ihtiyacınız yoksa servisi durdurup kapatabilirsiniz:
systemctl stop nginx - **Docker Portunu Değiştirmek (Önerilen):** Docker container'ı başlatırken dış portu farklı bir porta yönlendirebilirsiniz. Örneğin 80:80 yerine **8080:80** parametresini kullanın:
docker run -d -p 8080:80 nginx
3. Container'ı Yeniden Başlatma
Çakışmayı çözdükten sonra docker container'ınızı başarıyla ayağa kaldırabilirsiniz.
Docker projelerinizi en yüksek hızda ve kesintisiz çalıştırmak için yüksek performanslı VDS Sunucu Kiralama çözümlerimizden yararlanabilir, güvenlik ihtiyaçlarınız için SSL Sertifikası paketlerimizi satın alabilirsiniz.