IHS Strategic
Tüm Blog Yazıları
HowTo10 Eylül 2026•2 dk okuma

Docker ile Web Uygulaması Dağıtımı Rehberi: Container Mimarisi ve Dijital Strateji Trendleri

Modern container mimarisi ile web uygulaması dağıtımı rehberi. Dijital strateji ve DevOps trendleri odağında adım adım Docker kurulum, optimizasyon ve deployment kılavuzu.

S

Sistem Yöneticisi

Kıdemli Yazılım Mimarı

Giriş: Container Mimarisi ve Dijital Strateji Trendleri

Modern yazılım dağıtım süreçlerinde hız ve tutarlılık esastır. Geleneksel sunucu dağıtımları 'benim makinemde çalışıyordu' sorununa yol açar. Container mimarisi, uygulamanın bağımlılıklarıyla izole çalışmasını sağlar. Bulut bilişimdeki son trendler, altyapı yönetiminde mikroservis ve konteynerleştirmeyi temel dijital strateji bileşeni yapar. Bu rehber, Docker ile web uygulaması dağıtımını adım adım ele alır.

Adım 1: Uygulama İmajını Hazırlama (Dockerfile)

Dağıtımın ilk adımı, hafif ve güvenli bir Docker imajı üretmektir. Kaynak tüketimini düşürmek için multi-stage build tekniği uygulayın.

İpucu: Gereksiz paketleri imaja dahil etmeyin. Alpine veya distroless taban imajları tercih edin.

Örnek Dockerfile (Node.js/Next.js Örneği)

# 1. Aşama: Derleme
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# 2. Aşama: Üretim İmajı
FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000
CMD ["node", "server.js"]

Adım 2: Çoklu Servis Yönetimi (Docker Compose)

Web uygulamaları sıklıkla veritabanı veya önbellek servislerine ihtiyaç duyar. docker-compose.yml dosyası servisleri tek komutla koordine eder.

Örnek docker-compose.yml

version: '3.8'
services:
  web:
    build: .
    ports:
      - "80:3000"
    environment:
      - DATABASE_URL=postgres://user:pass@db:5432/appdb
    depends_on:
      - db
    restart: always

  db:
    image: postgres:16-alpine
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
      POSTGRES_DB: appdb

volumes:
  db_data:

Adım 3: Dağıtım Öncesi Güvenlik ve Optimizasyon

Üretim ortamına geçmeden önce kritik kontrolleri uygulayın:

  • Root Kullanıcısını Devre Dışı Bırakın: Container içinde USER node gibi imtiyazsız kullanıcı tanımlayın.
  • Kaynak Sınırlandırması (Limit): CPU ve bellek tüketim sınırlarını Compose veya Kubernetes manifestosunda sabitleyin.
  • .dockerignore Kullanımı: .git, node_modules ve .env dosyalarının imaja kopyalanmasını önleyin.

Adım 4: Canlı Sunucuya Dağıtım ve CI/CD Entegrasyonu

Modern trendler doğrultusunda dağıtımlar manuel yapılmaz. GitHub Actions veya GitLab CI ile otomatik test ve build akışı kurun.

  1. Kodu ana dala (main) gönderin.
  2. CI pipeline üzerinde testleri çalıştırın ve Docker imajını derleyin.
  3. İmajı container registry (GHCR, Docker Hub, ECR) üzerine etiketleyip (tag) yükleyin.
  4. Üretim sunucusunda yeni imajı çekin ve konteyneri kesintisiz (zero-downtime) yeniden başlatın.

Sonuç: Sürdürülebilir Altyapı

Container mimarisi dağıtım döngüsünü kısaltır, hata payını düşürür. Bu rehber adımlarını takip ederek web uygulamalarınızı ölçeklenebilir, güvenli ve modern dijital strateji hedeflerine uyumlu şekilde üretime taşıyabilirsiniz.