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ı.
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; done2. 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 update3. 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-pluginKurulumu doğrulayın:
sudo docker run hello-world
docker --version
docker compose version4. Adım: Docker'ı sudo olmadan kullanın
sudo usermod -aG docker $USER
newgrp docker
docker psdocker 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.ymlservices:
web:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stoppedmkdir html && echo "<h1>Merhaba Docker!</h1>" > html/index.html
docker compose up -d
docker compose psTarayı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 temizleDocker, 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.
