7/24 Türkçe destek:[email protected]Sistem durumuDestek talebi

Ubuntu VPS’e Docker ve Docker Compose Kurulumu

Okuma süresi: 3 dk

Kısa yanıt: Docker’ın resmi apt deposunu ekleyip sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin komutunu çalıştırın. Kurulumu sudo docker run hello-world ile test edin; Compose artık docker compose (tiresiz) komutuyla kullanılır.

Bu rehber kimin için: Konteyner kullanan VPS kullanıcıları · Gereken süre: 15 dakika · Seviye: Orta

Docker, uygulamaları bağımlılıklarıyla birlikte izole konteynerlerde çalıştırmanızı sağlar. Ubuntu depolarındaki docker.io paketi de çalışır; ancak resmi depo daha güncel sürüm ve Compose eklentisini sunar. VPS’lerimiz VMware ESXi tam sanallaştırmasıyla çalıştığı için kendi çekirdeğinizi kullanır ve Docker’ı kısıtlamasız kurabilirsiniz.

Kurulum

  1. Eski paketleri kaldırın: for p in docker.io docker-doc docker-compose docker-compose-v2 docker-buildx podman-docker containerd runc; do sudo apt remove -y $p; done
  2. Ön koşullar: sudo apt update && sudo apt install ca-certificates curl -y.
  3. Anahtarı ekleyin: sudo install -m 0755 -d /etc/apt/keyrings && sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc ve sudo chmod a+r /etc/apt/keyrings/docker.asc.
  4. Depoyu ekleyin: Docker belgelerindeki gibi /etc/apt/sources.list.d/docker.sources dosyasını deb822 biçiminde oluşturun: Types: deb, URIs: https://download.docker.com/linux/ubuntu, Suites: Ubuntu kod adınız (24.04 için noble), Components: stable, Signed-By: /etc/apt/keyrings/docker.asc.
  5. Kurun: sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y.
  6. Test edin: sudo docker run hello-world.
  7. sudo’suz kullanım (isteğe bağlı): sudo usermod -aG docker $USER; oturumu kapatıp açın.

Güvenlik notları

docker grubuna eklenen kullanıcı fiilen root yetkisi kazanır; bu grubu yalnızca güvendiğiniz kullanıcılara verin. Docker’ın yayınladığı portlar UFW kurallarını atlayabilir; veritabanı gibi servisleri yalnızca 127.0.0.1’e yayınlayın. Ayrıntılar için UFW rehberi.

Kurulumdan sonra: servis, sürüm ve günlük boyutu

Disk dolarsa VPS diski doldu rehberindeki docker system df ve temizlik adımlarına bakın.

  • Servisi kontrol edin: sudo systemctl status docker; çalışmıyorsa sudo systemctl enable --now docker.
  • Sürümleri görün: docker --version ve docker compose version. İkinci komut sürüm numarası döndürüyorsa Compose eklentisi kuruludur.
  • Günlük boyutunu sınırlayın: Docker’ın varsayılan json-file günlük sürücüsü konteyner günlüklerini döndürmez; uzun süre çalışan konteynerler diski doldurabilir. /etc/docker/daemon.json dosyasına {"log-driver": "local"} yazın ya da json-file için max-size ve max-file seçeneklerini tanımlayın, ardından sudo systemctl restart docker çalıştırın. Ayar yalnız yeni oluşturulan konteynerlere uygulanır; mevcut olanları docker compose up -d --force-recreate ile yeniden oluşturun.
  • Compose ile çalıştırın: Proje klasöründe compose.yaml dosyası varken docker compose up -d servisleri arka planda başlatır, docker compose logs -f günlükleri izler, docker compose down durdurur.

Hâlâ çözülmediyse

“Cannot connect to the Docker daemon” hatasında sudo systemctl status docker ile servisi kontrol edin. Disk dolarsa docker system prune ile kullanılmayan imaj ve konteynerleri temizleyin. Konteyner iş yükleri için yeterli RAM ve SSD disk sunan VPS sunucu paketlerimizi inceleyin.

Sık sorulan sorular

docker-compose ile docker compose farkı nedir?

Eski Python tabanlı docker-compose yerine artık Docker CLI eklentisi olan docker compose kullanılır.

Konteynerler sunucu yeniden başlayınca açılır mı?

restart: unless-stopped politikası tanımlarsanız evet.

İlgili rehberler