Docker Container ile Sunucuda Uygulama Dağıtımı (Başlangıç)

Docker, yazılım uygulamalarını izole edilmiş ortamlarda paketleyerek sunucularda tutarlı bir şekilde çalıştırmayı sağlayan devrim niteliğinde bir teknolojidir.

Docker, yazılım uygulamalarını izole edilmiş ortamlarda paketleyerek sunucularda tutarlı bir şekilde çalıştırmayı sağlayan devrim niteliğinde bir teknolojidir. Özellikle docker container sunucuda dağıtımı, geliştiricilerin farklı ortamlar arasında uyumsuzluk sorunlarını ortadan kaldırmasına yardımcı olur. Bu başlangıç rehberinde, Docker container’ların temel prensiplerini inceleyecek, sunucuya kurulumunu adım adım anlatacak ve basit bir uygulama dağıtım örneği vereceğiz. Kurumsal ekipler için ideal olan bu yaklaşım, ölçeklenebilirlik ve verimlilik sağlar.

Docker Container Kavramı ve Avantajları

Docker container’lar, uygulamaları ve bağımlılıklarını tek bir pakette birleştiren hafif sanal ortamlar olarak tanımlanır. Geleneksel sanal makinelerden farklı olarak, host işletim sisteminin kernel’ını paylaşarak daha az kaynak tüketirler. Docker container sunucuda kullanımının başlıca avantajları arasında tutarlılık, hızlı dağıtım ve kolay ölçeklendirme yer alır. Örneğin, geliştirme aşamasında lokal makinede çalışan bir uygulama, üretim sunucusuna sorunsuz taşınabilir.

Container’lar, mikro servis mimarilerinde kritik rol oynar. Her servis bağımsız bir container içinde çalışır, bu sayede birindeki hata diğerlerini etkilemez. Pratikte, Docker Compose gibi araçlarla birden fazla container’ı orkestre edebilirsiniz. Bu yapı, bulut sağlayıcılarında (AWS, Azure) otomatik dağıtımı kolaylaştırır ve DevOps süreçlerini hızlandırır.

  • Tutarlılık: “Works on my machine” sorununu ortadan kaldırır.
  • Verimlilik: Saniyeler içinde başlatılır, gigabaytlarca yer kaplamaz.
  • Güvenlik: İzolasyon sayesinde süreçler birbirinden ayrılır.

Sunucuda Docker Kurulumu ve Temel Komutlar

Sunucunuza Docker yüklemek, docker container sunucuda dağıtımının ilk adımıdır. Ubuntu tabanlı bir sunucuda (örneğin DigitalOcean droplet), resmi depolardan en güncel sürümü edinin. Önce sistem güncellemelerini yapın: sudo apt update && sudo apt upgrade -y. Ardından Docker’ı yükleyin: sudo apt install docker.io -y. Servisi etkinleştirin: sudo systemctl start docker && sudo systemctl enable docker. Kullanıcıyı docker grubuna ekleyin: sudo usermod -aG docker $USER ve yeniden oturum açın.

İlk Container’ı Çalıştırma

Doğrulama için basit bir test container’ı başlatın: docker run hello-world. Bu komut, Docker Hub’dan resmi imajı çeker ve çalıştırır. Çıktı başarılıysa, sistem hazırdır. Nginx web sunucusu örneği için: docker run -d -p 80:80 --name webserver nginx. Bu, container’ı arka planda (-d) çalıştırır ve host’un 80 portunu container’ın 80 portuna eşler. Tarayıcıdan sunucu IP’sine erişerek varsayılan Nginx sayfasını göreceksiniz. Bu adım, docker container sunucuda izolasyonunu pratikte gösterir; container silinip yeniden oluşturulsa bile imaj aynı kalır.

Docker Compose ile Çoklu Container Yönetimi

Daha karmaşık senaryolarda Docker Compose kullanın. Bir docker-compose.yml dosyası oluşturun:

version: '3'
services:
  app:
    image: nginx
    ports:
      - "80:80"

Sonra docker-compose up -d ile başlatın. Bu araç, veritabanı ve uygulama container’larını birbirine bağlar, örneğin MySQL ile Node.js uygulamasını entegre eder. Durdurma için docker-compose down yeterlidir. Compose, YAML tabanlı konfigürasyonla tekrarlanabilir dağıtımları sağlar ve CI/CD pipeline’larında vazgeçilmezdir.

Uygulama Dağıtımı Pratiği: Basit Web Uygulaması

Kendi uygulamanızı container’laştırarak sunucuda dağıtın. Önce Dockerfile oluşturun. Node.js örneği için:

FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "app.js"]

İmajı build edin: docker build -t myapp .. Sunucuya push edin (Docker Hub hesabı ile docker push). Üretimde çekip çalıştırın: docker run -d -p 3000:3000 myapp. Logları izleyin: docker logs myapp. Bu süreç, versiyon kontrolüyle birleştiğinde (Git ile), rollback kolaylaşır: Eski imajı docker run ile yeniden başlatın.

Otomatik Güncelleme ve Bakım

Watchtower gibi araçlarla container’ları otomatik güncelleyin: docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower. Bu, yeni imajları çeker ve yeniden deploy eder. Güvenlik için düzenli tarama yapın: docker scan myapp. Kaynak kullanımını docker stats ile takip edin. Bu adımlar, kurumsal düzeyde docker container sunucuda yönetimini sağlar ve kesinti süresini minimize eder.

Sonuç olarak, Docker container’larla sunucuda uygulama dağıtımı, ekiplerinize hız ve güvenilirlik kazandırır. Bu başlangıç adımlarını uygulayarak, daha karmaşık orkestrasyon araçlarına (Kubernetes) geçiş yapabilirsiniz. Pratiğe dökün, hatalardan öğrenin ve süreçlerinizi optimize edin.

Yazar: Lorem
çerik: 547 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 24-02-2026
Güncelleme: 24-02-2026