Docker; web sitelerini, veritabanlarını, botları ve panelleri her biri kendi bağımlılıklarıyla, sistemi kirletmeden, yalıtılmış konteynerlerde çalıştırmanızı sağlar.
Kurulum
Resmi script, Ubuntu ve Debian'a Docker'ı ve Compose eklentisini kurar:
curl -fsSL https://get.docker.com | sh
Çalıştığını kontrol edin:
docker run --rm hello-world
docker compose version
Compose ile bir örnek
İçinde bir docker-compose.yml dosyası olan bir klasör oluşturun; örneğin basit bir web sitesi için:
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stopped
docker compose up -d # arka planda başlatın
docker compose logs -f # log kayıtlarını izleyin
docker compose down # durdurun
restart: unless-stopped ayarı, VPS yeniden başlatıldıktan sonra konteynerin kendiliğinden geri gelmesini sağlar.
Dikkat: Docker, ufw kurallarını atlar
ports: (veya -p) ile yayımladığınız portlar, ufw kapalı olduklarını gösterse bile internete açılır, çünkü Docker güvenlik duvarına kendi kurallarını yazar. İstemeden internete açık kalan pek çok veritabanının nedeni budur.
Bir hizmeti yalnızca diğer konteynerler veya sunucunun kendisi kullanıyorsa onu yalnızca yerelde yayımlayın:
ports:
- "127.0.0.1:3306:3306"
Aynı docker-compose.yml içindeki konteynerler için hiçbir şey yayımlamanız gerekmez: birbirlerine hizmet adıyla erişirler.
Temizlik
Eski imajlar birikir ve diski doldurur. Ara sıra şunu çalıştırın:
docker system prune
Durdurulmuş konteynerleri, kullanılmayan ağları ve etiketsiz imajları siler. Silmeden önce onay ister.