Docker nedir?
Docker, uygulamaları konteyner olarak paketleyip çalıştırmayı sağlayan en yaygın platformdur. Bir uygulamayı ve bağımlılıklarını imaj haline getirir, bu imajı herhangi bir Docker çalıştıran sunucuda aynı şekilde çalıştırmanıza olanak tanır.
Geliştirme ve dağıtım süreçlerini basitleştirdiği için VPS ve özel sunucularda çok kullanılır. Docker arka plan hizmeti yüksek yetkiyle çalıştığından, yanlış yapılandırılması sunucunun tamamını riske atabilir.
Nasıl çalışır?
Docker istemcisi, arka planda çalışan Docker daemon’a komut gönderir. Daemon imajları indirir, konteynerleri başlatır ve ağ ile depolama kaynaklarını yönetir. İmajlar Dockerfile adlı bir tarifle oluşturulur.
- Docker Hub gibi kayıt defterleri (registry) imajları dağıtır.
- Docker Compose birden çok konteynerli uygulamaları tek dosyayla tanımlar.
- Veriler kalıcı olmaları için volume ya da bağlama (bind mount) ile saklanır.
Sunucu ve hosting ortamında
VPS üzerinde Docker kullanırken iki nokta öne çıkar. Birincisi, Docker’ın yayımladığı portlar güvenlik duvarı kurallarını atlayabilir; konteyner portunu 0.0.0.0 üzerinden yayınladığınızda internete açılmış olabilirsiniz. İkincisi, docker.sock dosyasına erişimi olan biri fiilen ana makinede root yetkisine sahiptir.
Docker daemon’un uzaktan yönetim arayüzü (TCP 2375) şifresiz ve kimlik doğrulamasız bırakılırsa tam sunucu ele geçirmeye yol açar; bu yapılandırma kesinlikle kaçınılması gereken bir hatadır.