Ubuntu VPS’e Docker ve Docker Compose Kurulumu
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
- 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
- Ön koşullar: sudo apt update && sudo apt install ca-certificates curl -y.
- 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.
- 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.
- Kurun: sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y.
- Test edin: sudo docker run hello-world.
- 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ıyorsasudo systemctl enable --now docker. - Sürümleri görün:
docker --versionvedocker 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.jsondosyasına{"log-driver": "local"}yazın ya da json-file içinmax-sizevemax-fileseçeneklerini tanımlayın, ardındansudo systemctl restart dockerçalıştırın. Ayar yalnız yeni oluşturulan konteynerlere uygulanır; mevcut olanlarıdocker compose up -d --force-recreateile yeniden oluşturun. - Compose ile çalıştırın: Proje klasöründe
compose.yamldosyası varkendocker compose up -dservisleri arka planda başlatır,docker compose logs -fgünlükleri izler,docker compose downdurdurur.
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
- UFW Güvenlik Duvarı Kurulumu ve Port Açma (Ubuntu)
- Ubuntu VPS İlk Kurulum: 10 Adımda Güvenli Başlangıç
- VPS Kaynak Kullanımı İzleme: CPU, RAM ve Disk
Bu rehber işinize yaradı mı?
Teşekkürler. Çözüm bulamadıysanız destek talebi açın veya [email protected] adresine yazın.