Ubuntu’ya Docker ve Docker Compose kurulumu: adım adım
Resmî depodan Docker Engine kurulumu, root olmadan kullanım, ilk container ve Compose ile çoklu uygulama yönetimi.
Rehberler · 3 dk okuma
Docker, uygulamaları bağımlılıklarıyla birlikte yalıtılmış container’lar içinde çalıştırır. Aynı sunucuda çakışma yaşamadan birçok servis barındırmanın en pratik yoludur. Bu rehber Ubuntu 24.04 üzerinde Docker Engine ve Docker Compose’u resmî depodan kurar.
Önkoşullar
- Ubuntu 22.04 veya 24.04 çalışan bir bulut sunucu ve
sudoyetkili bir kullanıcı (bkz. SSH ile bağlanma). - Sistem güncel olmalı:
sudo apt update && sudo apt upgrade -y
1. Resmî depoyu ekleyin
sudo apt 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 update
2. Docker Engine’i kurun
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
docker --version
docker compose version
3. Kurulumu doğrulayın
sudo docker run --rm hello-world
“Hello from Docker!” mesajını görüyorsanız kurulum tamamdır.
4. Root olmadan kullanın (isteğe bağlı)
sudo usermod -aG docker $USER
newgrp docker
Güvenlik notu: docker grubundaki bir kullanıcı fiilen root yetkisine sahiptir. Yalnızca güvendiğiniz kullanıcıları ekleyin.
5. İlk Compose dosyanız
Bir klasör oluşturup içine compose.yaml yazın. Örnek: basit bir web sunucusu.
services:
web:
image: nginx:alpine
restart: unless-stopped
ports:
- "8080:80"
docker compose up -d # başlat
docker compose ps # durum
docker compose logs -f # günlükler
docker compose down # durdur ve kaldır
http://SUNUCU_IP:8080 adresinde Nginx karşılama sayfasını görürsünüz. Gerçek uygulamalarda portu doğrudan internete açmak yerine bir ters proxy kullanın: Caddy ile otomatik HTTPS.
Faydalı komutlar
| Komut | Ne yapar? |
|---|---|
docker ps -a | Tüm container’ları listeler |
docker compose pull && docker compose up -d | İmajları günceller ve yeniden başlatır |
docker system df | Disk kullanımını gösterir |
docker system prune -a | Kullanılmayan imaj ve container’ları temizler (dikkatli kullanın) |
Dikkat edilecekler
- Docker, yayınladığı portları güvenlik duvarını (UFW) atlayarak açabilir; yalnızca gerekli portları yayınlayın ve ters proxy arkasına alın (
127.0.0.1:8080:80biçimi yalnızca yerelden erişime izin verir). - Verileri container içinde değil, volume’larda tutun; aksi halde container silinince veri kaybolur.
- Düzenli snapshot ve sunucu dışı yedek alın.
Melinhost ile başlayın
Docker için 4 vCPU ve 8 GB RAM düzeyindeki bir bulut sunucu iyi bir başlangıçtır. Tam root erişimi sayesinde kendi ortamınızı dilediğiniz gibi kurarsınız.