Skip to content
Back to blog
Rehber Docker Yazılım Geliştirme DevOps Kurulum Rehberi Container

Adım Adım Docker ile Yerel Geliştirme Ortamı Kurulumu

Docker kullanarak projeleriniz için izole, taşınabilir ve ölçeklenebilir yerel geliştirme ortamlarını nasıl kuracağınızı, temel komutlardan Docker Compose kullanımına kadar detaylı bir rehberle öğrenin.

Caner Serbest

Sistem ve Altyapı

2 min read

Docker ile Yerel Geliştirme Ortamı Kurulumu

Günümüz yazılım dünyasında “benim bilgisayarımda çalışıyor” sorunu, geliştiricilerin en büyük kabuslarından biridir. Projenizi yerel makinenizde çalıştırırken kullandığınız kütüphane sürümleri, veritabanı ayarları veya işletim sistemi farklılıkları, canlıya geçiş aşamasında ciddi hatalara yol açabilir. Bu rehberde, Docker kullanarak bu sorunu kökten nasıl çözeceğinizi ve standart bir geliştirme ortamını nasıl oluşturacağınızı adım adım inceleyeceğiz.

1. Docker Nedir ve Neden Kullanmalıyız?

Docker, uygulamaları ve bunların tüm bağımlılıklarını (kütüphaneler, ayarlar, çalışma zamanları) “konteyner” adı verilen paketler halinde izole eden bir platformdur. Geleneksel sanal makinelerin aksine, Docker işletim sistemi seviyesinde sanallaştırma yaparak çok daha hızlı çalışır ve daha az kaynak tüketir.

2. Kurulum Hazırlığı

Başlamadan önce Docker Desktop uygulamasını işletim sisteminize göre indirin ve kurun. Kurulum bittikten sonra terminalinizi açıp şu komutu girerek kurulumu doğrulayın:

docker --version

3. İlk Konteynerinizi Çalıştırma

Docker dünyasına girişin en temel adımı bir imaj çalıştırmaktır. Terminalde şu komutu yazın:

docker run hello-world

Bu komut, Docker Hub üzerinden hello-world adlı imajı çeker ve çalıştırır. Eğer her şey yolundaysa, “Hello from Docker!” mesajını göreceksiniz.

4. Bir Uygulama için Dockerfile Oluşturma

Gerçek bir projede, kendi Dockerfile dosyamızı oluşturmamız gerekir. Örneğin, basit bir Python Flask uygulaması için bir Dockerfile oluşturalım.

Proje klasörünüzde Dockerfile adında bir dosya oluşturun ve içine şunları yazın:

# Temel imaj olarak Python 3.9 kullan
FROM python:3.9-slim

# Çalışma dizinini ayarla
WORKDIR /app

# Gereksinim dosyasını kopyala
COPY requirements.txt .

# Bağımlılıkları kur
RUN pip install -r requirements.txt

# Uygulama kodunu kopyala
COPY . .

# Çalıştırılacak komut
CMD ["python", "app.py"]

5. Docker Compose ile Çoklu Servis Yönetimi

Modern web uygulamaları genellikle bir veritabanı, bir cache sistemi (Redis gibi) ve uygulama kodundan oluşur. Bunları tek tek yönetmek zordur. İşte burada Docker Compose devreye girer.

Projenizin ana dizininde docker-compose.yml dosyasını oluşturun:

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - .:/app
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: mydb
      POSTGRES_PASSWORD: password

6. Geliştirme Sürecinde İpuçları

Volume Kullanımı

Yukarıdaki docker-compose.yml dosyasında volumes: - .:/app satırı çok kritiktir. Bu satır, yerel bilgisayarınızdaki kodunuzu konteyner içindeki /app dizinine bağlar (bind mount). Böylece kodda yaptığınız her değişiklik anında konteynerin içine yansır ve uygulamayı yeniden başlatmanıza gerek kalmaz.

İmaj Boyutlarını Küçültme

Üretim ortamına geçtiğinizde alpine tabanlı imajları tercih edin. python:3.9-slim yerine python:3.9-alpine kullanmak, imaj boyutunu onlarca megabayt düşürebilir ve güvenlik açıklarını minimize eder.

Docker İmajlarını Temizleme

Zamanla bilgisayarınızda biriken eski imajlar ve durmuş konteynerler disk alanınızı tüketir. Bunları şu komutla düzenli olarak temizleyebilirsiniz:

docker system prune -a

7. Sonuç

Docker, geliştirme sürecinizi standartlaştırmak için en güçlü araçtır. İlk başta karmaşık görünse de, bir kez Dockerfile ve docker-compose.yml yapılarını kurduğunuzda, yeni bir bilgisayara geçtiğinizde veya ekip arkadaşlarınızla çalışırken “bende çalışıyor” sorununun tamamen ortadan kalktığını göreceksiniz.

Bu rehberde temel adımları attık. Bir sonraki aşamada Docker ağlarını (networks) ve imaj katmanlarını (layers) optimize ederek daha ileri seviye bir altyapı kurabilirsiniz. Unutmayın, Docker ile yazılım geliştirme disiplini kazanmak, DevOps kültürüne atılan ilk ve en önemli adımdır.