1. Docker Nedir ve Neden Kullanılır?
Docker, uygulamaları hafif ve izole edilmiş container’larda çalıştırmayı sağlayan açık kaynaklı bir platformdur. Container’lar, bir yazılımın tüm bağımlılıklarını ve yapılandırmalarını içeren taşınabilir bir ortam sunar. Bu özellik sayesinde:
- Geliştiriciler, “çalışıyor ama neden üretimde çalışmıyor?” problemini ortadan kaldırır.
- Daha hızlı dağıtım ve ölçeklenebilirlik sağlar.
- Çeşitli işletim sistemlerinde tutarlı bir çalışma ortamı sunar.
2. Docker’ın Sistem Gereksinimleri
Docker’ın sistem gereksinimleri aşağıdaki gibi özetlenebilir:
- İşlemci: 64-bit mimarili bir işlemci.
- RAM: Minimum 2 GB, önerilen 4 GB veya daha fazlası.
- Disk Alanı: Minimum 10 GB boş alan.
- Linux Kernel: 3.10 veya üzeri.
Docker, varsayılan olarak Linux çekirdeği üzerine inşa edildiği için en iyi performansı Linux tabanlı sistemlerde sunar. Ancak Windows ve macOS için de uygun çözümler mevcuttur.
3. Farklı Platformlarda Docker Kurulumu
Linux’ta Docker Kurulumu
Ubuntu (20.04 ve üzeri)
- Gerekli bağımlılıkların kurulumu:
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
- Docker GPG anahtarını ekleyin:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Docker deposunu sisteminize ekleyin:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Docker’ı kurun:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io
- Docker servisini başlatın ve sistemle birlikte başlamasını sağlayın:
sudo systemctl start docker sudo systemctl enable docker
CentOS (7 ve üzeri)
- Gerekli bağımlılıkların kurulumu:
sudo yum install -y yum-utils
- Docker deposunu ekleyin:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- Docker’ı kurun:
sudo yum install -y docker-ce docker-ce-cli containerd.io
- Docker servisini başlatın ve sistemle birlikte başlamasını sağlayın:
sudo systemctl start docker sudo systemctl enable docker
Windows’ta Docker Kurulumu
- Docker Desktop’u Docker Resmi Sitesinden indirin.
- İndirme tamamlandıktan sonra yükleyici dosyasını çalıştırın ve talimatları izleyin.
- Docker Desktop’u başlatın ve gerekli konfigürasyonları yapın.
macOS’ta Docker Kurulumu
- Docker Desktop’u Docker Resmi Sitesinden indirin.
- DMG dosyasını açın ve Docker uygulamasını Applications klasörüne sürükleyin.
- Docker Desktop’u başlatın ve yapılandırmayı tamamlayın.
4. Docker’ın Doğrulama ve Temel Yapılandırması
Kurulumun doğru yapıldığını kontrol etmek için şu komutları çalıştırabilirsiniz:
- Docker sürümünü kontrol edin:
docker --version
- Docker servisini test edin:
sudo docker run hello-world
Docker, “Hello from Docker!” mesajını gösteriyorsa kurulum başarıyla tamamlanmıştır.
5. Docker Temel Komutları
Görüntü Yönetimi
- Görüntü indirme:
docker pull <image_name>
- Yerel görüntüleri listeleme:
docker images
- Görüntü silme:
docker rmi <image_id>
Container İşlemleri
- Container oluşturma ve çalıştırma:
docker run -d --name <container_name> <image_name>
- Çalışan container’ları listeleme:
docker ps
- Tüm container’ları listeleme:
docker ps -a
- Container’ı durdurma:
docker stop <container_id>
- Container’ı silme:
docker rm <container_id>
6. Docker ile İleri Düzey Kullanım
Dockerfile ile Özel Görüntü Oluşturma
Dockerfile
oluşturun:dockerfileFROM ubuntu:20.04 RUN apt-get update && apt-get install -y nginx CMD ["nginx", "-g", "daemon off;"]
- Dockerfile’ı kullanarak görüntü oluşturun:
docker build -t custom-nginx .
Docker Compose ile Çoklu Servis Yönetimi
docker-compose.yml
dosyası oluşturun:version: '3.8' services: web: image: nginx ports: - "80:80"
- Servisleri başlatın:
docker-compose up -d
7. Sık Karşılaşılan Sorunlar ve Çözümleri
Sorun: Docker servisi çalışmıyor
- Çözüm:
sudo systemctl start docker
Sorun: Permission Denied Hatası
- Çözüm:
sudo usermod -aG docker $USER
8. Sonuç ve Öneriler
Docker, modern uygulama geliştirme ve dağıtım süreçlerinde devrim yaratan bir araçtır. Bu rehber, Docker’ı kurup kullanmaya başlamanız ve temel ile ileri düzey işlemleri yapabilmeniz için kapsamlı bir kaynak sunmayı hedeflemiştir. Daha fazla bilgi için Docker’ın resmi belgelerine başvurabilirsiniz.