sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa Sanallaştırma & VPS Docker Kurulumu Docker Nasıl Kurulur? Ubuntu ve AlmaLinux Üzeri...
🐳 Docker Kurulumu

Docker Nasıl Kurulur? Ubuntu ve AlmaLinux Üzerinde Tam Rehber

Docker Engine ve Docker Compose kurulum rehberi: Ubuntu 22.04 ve AlmaLinux 9 üzerinde resmi repo ile kurulum, temel komutlar.

📅 13 Şubat 2025 👁 43 görüntülenme ⏱ 5 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

Docker Nedir?

Docker, uygulamaları konteynerler içinde paketleyip çalıştırmayı sağlayan açık kaynaklı bir platformdur. 2013 yılında Solomon Hykes tarafından başlatılan Docker projesi, yazılım geliştirme ve dağıtım süreçlerini köklü biçimde değiştirmiştir. Konteyner teknolojisi, sanal makinelerden farklı olarak işletim sistemi çekirdeğini ana makineyle paylaşır; bu sayede çok daha hafif, hızlı başlayan ve taşınabilir bir izolasyon ortamı sunar.

Docker konteynerleri sayesinde "benim makinemde çalışıyor" problemi ortadan kalkar. Geliştirme, test ve üretim ortamları aynı konteyner imajını kullandığından, ortamlar arası farklılıktan kaynaklanan hatalar büyük ölçüde önlenir. Bir Docker imajı, uygulamanın tüm bağımlılıklarını (runtime, kütüphaneler, konfigürasyon dosyaları) içinde barındırır ve herhangi bir Docker destekli ortamda tutarlı biçimde çalışır.

Docker ekosistemi; Docker Engine (çalışma zamanı), Docker Compose (çoklu konteyner tanımı), Docker Hub (imaj deposu) ve Docker Swarm (orkestrasyon) bileşenlerinden oluşur. Kubernetes ile birlikte kullanıldığında kurumsal ölçekli konteyner orkestrasyonu sağlar.

Temel Özellikler

  • Konteyner İzolasyonu: Her konteyner kendi dosya sistemi, ağ ve süreç alanına sahiptir.
  • Katmanlı İmaj Sistemi: Union file system ile imaj katmanları önbellekte saklanır, değişiklikler üst katmana yazılır.
  • Docker Hub: Milyonlarca hazır imajın bulunduğu genel kayıt (registry).
  • Docker Compose: Çoklu konteyner uygulamalarını YAML dosyasıyla tanımlama ve yönetme.
  • Volume Sistemi: Konteyner dışında kalıcı veri depolama.
  • Ağ Yönetimi: Bridge, host, overlay ağ modları ile konteynerler arası iletişim.
  • Taşınabilirlik: Geliştirme ortamından üretim ortamına aynı imajla geçiş.

Sistem Gereksinimleri

Desteklenen İşletim Sistemleri

  • Ubuntu 20.04, 22.04, 24.04 LTS
  • Debian 11, 12
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • RHEL 8, 9

Minimum Donanım Gereksinimleri

  • CPU: 64-bit mimarisi zorunlu
  • RAM: 1 GB (üretim için 2 GB+)
  • Disk: 20 GB boş alan önerilir

İşletim Sistemine Göre Kurulum

🟠 Ubuntu 22.04 Üzerinde Docker Kurulumu

1. Sistemi Güncelleyin ve Bağımlılıkları Kurun

sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release

2. Docker'ın Resmi GPG Anahtarını Ekleyin

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

3. Docker Deposunu Ekleyin

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. Docker Engine'i Kurun

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
    docker-buildx-plugin docker-compose-plugin

5. Docker Servisini Başlatın

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

6. Kurulumu Doğrulayın

sudo docker run hello-world
docker --version
docker compose version

🔵 AlmaLinux 9 Üzerinde Docker Kurulumu

1. Sistemi Güncelleyin

sudo dnf update -y

2. Eski Docker Sürümlerini Kaldırın (varsa)

sudo dnf remove docker docker-client docker-client-latest docker-common \
    docker-latest docker-latest-logrotate docker-logrotate docker-engine -y

3. Docker Resmi Deposunu Ekleyin

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4. Docker Engine'i Kurun

sudo dnf install -y docker-ce docker-ce-cli containerd.io \
    docker-buildx-plugin docker-compose-plugin

5. Servisi Başlatın ve Aktifleştirin

sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world

Non-Root Kullanıcıya Docker Yetkisi Verme

Her Docker komutuna sudo yazmamak için, kullanıcınızı docker grubuna ekleyin:

sudo usermod -aG docker $USER
newgrp docker
docker ps  # sudo olmadan test edin

Dikkat: Docker grubuna eklenen kullanıcılar root ile eşdeğer ayrıcalıklara sahip olur. Güvenilen kullanıcılara uygulanmalıdır.


Temel Docker Komutları

# Konteyner işlemleri
docker run -d -p 8080:80 --name web nginx          # Arka planda nginx başlat
docker ps                                           # Çalışan konteynerleri listele
docker ps -a                                        # Tüm konteynerleri listele
docker stop web                                     # Konteyneri durdur
docker start web                                    # Konteyneri başlat
docker rm web                                       # Konteyneri sil
docker logs web                                     # Konteyner loglarını gör
docker exec -it web bash                            # Konteynere bağlan

# İmaj işlemleri
docker images                                       # İmajları listele
docker pull ubuntu:22.04                            # İmaj indir
docker rmi ubuntu:22.04                             # İmajı sil
docker build -t myapp:1.0 .                         # Dockerfile'dan imaj oluştur

# Temizlik
docker system prune -af                             # Kullanılmayan her şeyi sil

Docker Compose ile Çoklu Konteyner Örneği

docker-compose.yml dosyası:

version: "3.9"
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - db

  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: myapp
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypass
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
docker compose up -d       # Tüm servisleri başlat
docker compose ps          # Servislerin durumunu kontrol et
docker compose down        # Tüm servisleri durdur ve kaldır

Sık Karşılaşılan Sorunlar

  • Permission denied (docker.sock): Kullanıcıyı docker grubuna ekleyin ve oturumu yeniden açın.
  • Port zaten kullanımda: ss -tlnp | grep :PORT ile çakışan süreci bulun.
  • Disk alanı doldu: docker system prune -af ile kullanılmayan konteyner ve imajları temizleyin.
  • SELinux engeli (AlmaLinux): sudo setsebool -P container_manage_cgroup 1 komutunu çalıştırın.

İlgili Makaleler

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al
Etiketler: #ubuntu #docker #konteyner #devops

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.