Blog

Eğitimler, rehberler ve ürün haberleri.

Geliştiriciler

Docker nedir? VPS'te nasıl kullanılır?

3 Kasım 2026 4 dk okuma
Bu yazıyı paylaş

Docker, bir uygulamayı ve çalışması için gereken her şeyi "konteyner" adı verilen yalıtılmış bir pakette çalıştıran araçtır. VPS'te Docker kullanmak, uygulamayı sunucuya parça parça kurmak yerine hazır bir paketten başlatmak demektir. Kurulum ve kaldırma birkaç komutla biter, uygulamalar birbirinin ayarını bozmaz.

Konteyner, sanal makinenin aksine kendi işletim sistemini taşımaz, sunucunun çekirdeğini paylaşır. Bu yüzden saniyeler içinde açılır ve az bellek harcar. Karşılığında yalıtım, sanal makinedeki kadar güçlü değildir.

Dört kavramı bilmek yeter

KavramNe demek?
İmajUygulamanın hazır paketi. Docker Hub gibi bir depodan indirilir.
KonteynerBir imajdan başlatılmış, çalışan kopya.
VolumeKonteyner silinse de verinin kalması için ayrılan kalıcı alan.
ComposeBirkaç konteyneri tek bir compose.yaml dosyasında tanımlayıp tek komutla yöneten araç.

Bir konteyneri silmek içindeki dosyaları da siler. Veritabanı gibi kalıcı olması gereken her şeyi bir volume'a ya da sunucudaki bir klasöre bağlayın.

Ubuntu'da Docker nasıl kurulur?

Önce sunucuya SSH ile bağlanın. Ubuntu'nun kendi deposundaki docker.io paketi çalışır, Seturack'ın hazır kurulu Docker sunucusu da bunu kullanır. En güncel sürümü isterseniz Docker'ın kendi apt deposunu kullanın. Resmi belgeye göre docker.io ve docker-compose gibi Ubuntu paketleri Docker'ın kendi paketleriyle çakışır, varsa önce kaldırın.

  1. Docker'ın Ubuntu kurulum sayfasındaki "apt deposu" bölümünü izleyip deponun imza anahtarını ve kaynağını ekleyin. Komutlar sürümle değiştiği için oradan olduğu gibi çalıştırın.
  2. Paketleri kurun: sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. Servisin çalıştığını görün: sudo systemctl status docker
  4. Deneme konteynerini çalıştırın: sudo docker run --rm hello-world

Karşılama mesajını görürseniz Docker hazırdır. Ubuntu ve Debian'da servis, sunucu her açıldığında kendiliğinden başlar.

İlk konteyneriniz

Bir web sunucusunu tek komutla başlatın:

docker run -d --name web --restart unless-stopped -p 80:80 nginx:1.30

-d konteyneri arka planda çalıştırır. --restart unless-stopped sunucu yeniden başlayınca ya da konteyner çökünce onu tekrar açar. -p 80:80 sunucunun 80 portunu konteynere bağlar. nginx:1.30 imaj adı ve sürüm etiketidir. Bu etiket bir örnektir, Docker Hub'daki resmi Nginx sayfasından güncel kararlı etiketi seçin. Tarayıcıda sunucunun IP adresini açarsanız Nginx karşılama sayfasını görürsünüz. Kaldırmak için docker rm -f web yazın.

Kalıcı veri için bir volume bağlayın, örneğin -v siteverisi:/usr/share/nginx/html. Volume'ları docker volume ls ile listelersiniz. Aynı compose.yaml dosyasındaki servisler birbirine servis adıyla ulaşır, örneğin uygulamanız veritabanına db adıyla bağlanır.

Birden çok konteyneriniz varsa hepsini compose.yaml dosyasına yazın ve dosyanın klasöründe docker compose up -d çalıştırın. Dosyadaki image, restart, ports ve volumes anahtarları yukarıdaki bayrakların karşılığıdır. Durumu docker compose ps, günlüğü docker compose logs -f ile görür, docker compose down ile kapatırsınız.

Günlük işlerde kullanacağınız komutlar

KomutNe yapar?
docker psÇalışan konteynerleri listeler. Durmuş olanları da görmek için -a ekleyin.
docker logs -f webweb konteynerinin günlüğünü canlı izler.
docker exec -it web shKonteynerin içinde bir kabuk açar.
docker statsKonteynerlerin işlemci ve bellek kullanımını gösterir.
docker compose pull ve docker compose up -dYeni imajı indirir ve konteyneri yenisiyle değiştirir. Volume'lardaki veri korunur.

Güncellemeden önce uygulamanın sürüm notlarına bakın ve sürüm etiketini compose dosyasında kendiniz yükseltin. Etiketi sabitlemenin amacı, güncellemenin bir kaza değil bir karar olmasıdır.

Dikkat edilecek dört nokta

  • Docker, ufw kurallarını atlar. Resmi belgeye göre Docker'ın yayınladığı portlar ufw'nin kuralları devreye girmeden açılır. O porta ufw ile kapat kuralı yazmanız etkisiz kalır. Dışarıdan erişilmemesi gereken bir servisi yalnız yerel adrese bağlayın, örneğin -p 127.0.0.1:5432:5432. Aynı Docker ağındaki konteynerler birbirine zaten ulaşır, veritabanını yayınlamanız gerekmez.
  • latest etiketi. Etiket yazmazsanız latest indirilir. Bir sonraki indirmede uygulamanız beklemediğiniz bir sürüme geçebilir. Belirli bir etiket yazın, güncellemeyi siz zamanlayın.
  • docker grubu root demektir. Bir kullanıcıyı docker grubuna eklemek ona root yetkisi vermekle aynı sonucu doğurur (resmi belge). Yalnız güvendiğiniz hesaplara verin.
  • Günlükler ve imajlar diski doldurur. Docker'ın varsayılan günlük ayarında boyut sınırı yoktur. Konteynere sınır koyun: --log-opt max-size=10m --log-opt max-file=3. Diskin durumunu docker system df gösterir, etiketsiz imajları docker image prune siler.

Docker mı, doğrudan kurulum mu?

Docker; aynı sunucuda farklı sürümler isteyen birkaç uygulama çalıştıracaksanız, bir uygulamayı deneyip temizce kaldırmak istiyorsanız ya da geliştiricisi resmi bir imaj yayınlıyorsa işinizi kolaylaştırır. Tek bir WordPress sitesi gibi basit durumlarda doğrudan kurulum da yeterlidir. Docker ek bir katmandır: güncellemesi, izlenmesi ve volume'ların yedeği size aittir. Emin değilseniz tek bir küçük uygulamayla başlayın. Her şeyi bir anda Docker'a taşımanız gerekmez.

Seturack'ta Docker kurulu gelir

Docker'ı kendiniz kurmak istemiyorsanız Docker uygulamasıyla sunucu sipariş edebilirsiniz. Docker ve Compose kurulu gelir, kurulum yaklaşık 2,5 dakika sürer. Güvenlik duvarı açıktır ve dışarıya yalnız SSH portu açıktır, SSH için fail2ban çalışır, konteyner günlükleri konteyner başına en çok 3 dosya ve her biri 10 MB olacak şekilde sınırlıdır. Uygulamanın web arayüzü olmadığı için panelde site adresi çıkmaz. Yukarıdaki port tuzağı burada da geçerlidir. Hazır kurulu bir sunucuyla başlamak için Docker VPS sayfasına bakın.

Seturack'ta kurulu gelir: Portainer, Coolify, Dokploy.

Yorumlar0

Henüz Yorum Yok

İlk düşüncenizi paylaşan siz olun.

Tartışmaya Katıl

Yorum bırakmak için lütfen giriş yapın veya kaydolun.

Hiçbir Yazıyı Kaçırmayın

En yeni eğitim, rehber ve ürün haberlerini gelen kutunuzda alın.

Bülten aboneliğiniz alındı.