Docker Kurulumu
Sunucu Yönetimi

Ubuntu'ya Docker ve Docker Compose Kurulumu

Docker Engine ve Docker Compose eklentisini resmi depodan Ubuntu sunucuya kurun. sudo'suz kullanım, ilk konteyner ve örnek docker-compose.yml.

  • MerkezHost Teknik Ekibi
  • 3 dk okuma
  • Seviye: Orta
  • Güncelleme:

Docker, uygulamaları bağımlılıklarıyla birlikte izole konteynerlerde çalıştırmanızı sağlar. Bu rehberde Docker Engine ve Docker Compose eklentisini Docker'ın resmi deposundan Ubuntu sunucuya kuracak, ardından ilk konteynerinizi çalıştıracağız.

Gereksinimler

  • Ubuntu 22.04 veya 24.04 kurulu, KVM tabanlı bir VDS veya dedicated sunucu.
  • sudo yetkisine sahip bir kullanıcı.
Bilgi

Ubuntu depolarındaki docker.io paketi genellikle eski bir sürümdür. Güncel sürüm ve Compose eklentisi için Docker'ın resmi deposunu kullanmanızı öneririz.

1. Adım: Eski paketleri kaldırın

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove -y $pkg; done

2. Adım: Docker'ın resmi deposunu ekleyin

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

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

sudo apt-get update

3. Adım: Docker Engine ve Compose'u kurun

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

Kurulumu doğrulayın:

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

4. Adım: Docker'ı sudo olmadan kullanın

sudo usermod -aG docker $USER
newgrp docker
docker ps
Dikkat

docker grubundaki kullanıcılar fiilen root yetkisine sahip olur. Bu gruba yalnızca güvendiğiniz kullanıcıları ekleyin.

5. Adım: İlk Compose projeniz

Basit bir Nginx web sunucusunu Compose ile ayağa kaldıralım:

mkdir ~/ilk-proje && cd ~/ilk-proje
nano docker-compose.yml
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped
mkdir html && echo "<h1>Merhaba Docker!</h1>" > html/index.html
docker compose up -d
docker compose ps

Tarayıcıda http://SUNUCU_IP_ADRESI:8080 adresini açtığınızda sayfanızı göreceksiniz.

Sık kullanılan komutlar

docker ps -a                 # Tüm konteynerleri listele
docker logs -f KONTEYNER     # Logları canlı izle
docker compose down          # Projeyi durdur ve kaldır
docker system prune -a       # Kullanılmayan imaj ve konteynerleri temizle
İpucu

Docker, yayınladığınız portlar için güvenlik duvarı kurallarını kendi yönetir ve UFW kurallarını atlayabilir. Yalnızca yerelden erişilmesi gereken servisleri "127.0.0.1:8080:80" şeklinde yerel adrese bağlayın.

Sonuç

Docker ortamınız hazır. Konteyner iş yükleri yüksek tek çekirdek performansından ve hızlı diskten çok faydalanır; bu nedenle AMD Ryzen 9 performans sunucularımız Docker için mükemmel bir tercihtir.

Sık Sorulan Sorular

Docker'ı OpenVZ sunucuda çalıştırabilir miyim?

Docker için KVM tabanlı bir sanal sunucu gerekir. MerkezHost VDS sunucuları KVM sanallaştırma kullandığından Docker sorunsuz çalışır.

docker-compose ile docker compose farkı nedir?

Eski docker-compose ayrı bir Python aracıydı. Güncel sürümde Compose, Docker CLI'ın eklentisidir ve docker compose (boşluklu) komutuyla kullanılır.

  • #docker
  • #docker compose
  • #ubuntu
  • #konteyner
  • #devops
Paylaş:
Devamını Okuyun

İlgili Rehberler