This page has not been translated to English yet — showing the original Turkish version.

Kodlama

Docker Nedir, Nasıl Kullanılır? Kurulum, İlk Container ve Dockerfile Örneği

Docker'ın ne işe yaradığını, kurulumunu, ilk container'ın çalıştırılmasını ve bir Python uygulaması için Dockerfile yazılmasını adım adım anlatır.

Docker Nedir, Nasıl Kullanılır? Kurulum, İlk Container ve Dockerfile Örneği
Docker Nedir, Nasıl Kullanılır? Kurulum, İlk Container ve Dockerfile Örneği

"Benim bilgisayarımda çalışıyordu" cümlesinin ilacı Docker'dır. Uygulamanızı, ihtiyaç duyduğu dil sürümü ve kütüphanelerle birlikte container adı verilen izole bir pakete koyar; bu paket kendi bilgisayarınızda da sunucuda da aynı çalışır.

Sanal makineden farkı: container bütün işletim sistemini taşımaz, ana sistemin çekirdeğini paylaşır; bu yüzden saniyeler içinde açılır ve az kaynak harcar.

Step-by-step guide
  • 7 steps
  • 3 min read
In this guide
  1. Docker'ı kurun
  2. Temel kavramlar
  3. Hazır bir web sunucusu çalıştırın
  4. Kendi uygulamanız için Dockerfile yazın
  5. İmajı derleyin ve çalıştırın
  6. Veriyi kalıcı yapın: volume
  7. Birden çok servis: Docker Compose
  1. Docker'ı kurun

    Windows ve macOS için docker.com adresinden Docker Desktop indirilir. Windows'ta WSL 2 desteği gerekir; kurulum sihirbazı bunu önerir. Kişisel kullanım ve küçük işletmeler için ücretsizdir, büyük şirketlerde lisans şartı vardır. Linux'ta Docker Engine'i resmi dokümandaki komutlarla kurun. Kontrol:

    docker --version
    docker run hello-world

    Hello-world mesajını görüyorsanız kurulum tamam.

  2. Temel kavramlar

    • Image (imaj): uygulamanın salt okunur şablonu.
    • Container: bir imajın çalışan örneği.
    • Dockerfile: imajı nasıl üreteceğinizi anlatan tarif dosyası.
    • Docker Hub: hazır imajların bulunduğu depo.
  3. Hazır bir web sunucusu çalıştırın

    docker run -d --name web -p 8080:80 nginx

    -d arka planda çalıştırır, --name isim verir, -p 8080:80 bilgisayarınızın 8080 numaralı portunu container içindeki 80'e bağlar. Tarayıcıda http://localhost:8080 adresinde nginx karşılama sayfasını görürsünüz.

    docker ps          # çalışanları listele
    docker logs web    # günlükleri oku
    docker stop web    # durdur
    docker rm web      # sil
  4. Kendi uygulamanız için Dockerfile yazın

    Basit bir Python programı olan app.py ve bağımlılık listesi requirements.txt için Dockerfile:

    FROM python:3.14-slim
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    CMD ["python", "app.py"]

    Sırası önemlidir: bağımlılıkları kaynak koddan önce kopyalarsanız, kod değiştiğinde Docker bağımlılık katmanını önbellekten kullanır ve derleme hızlanır.

  5. İmajı derleyin ve çalıştırın

    docker build -t uygulamam .
    docker run --rm uygulamam

    -t imaja ad verir, sondaki nokta Dockerfile'ın bulunduğu klasörü gösterir. --rm container bitince onu otomatik siler.

  6. Veriyi kalıcı yapın: volume

    docker run -d -v veri:/var/lib/data uygulamam

    Container silindiğinde içindeki dosyalar da gider. Veritabanı gibi saklanması gereken veriyi volume ile container dışında tutun.

  7. Birden çok servis: Docker Compose

    services:
      web:
        build: .
        ports:
          - "8000:8000"
      db:
        image: postgres:17
        environment:
          POSTGRES_PASSWORD: gizli-parola
        volumes:
          - pgveri:/var/lib/postgresql/data
    volumes:
      pgveri:

    Bu dosyayı compose.yaml adıyla kaydedin ve docker compose up -d yazın. Uygulama ve veritabanı birlikte kalkar. Gerçek ortamda parolayı dosyaya değil .env dosyasına ya da gizli değer yönetimine koyun.

Sık Sorulanlar

Docker ücretsiz mi?

Docker Engine ve komut satırı araçları ücretsizdir. Docker Desktop kişisel kullanım, eğitim ve küçük işletmeler için ücretsizdir; büyük şirketler ücretli abonelik gerektirir.

Docker ile sanal makine arasındaki fark nedir?

Sanal makine tam bir işletim sistemi çalıştırır. Container ana sistemin çekirdeğini paylaşır; daha hafif ve hızlıdır, ama izolasyonu daha zayıftır.

Docker öğrenmek için Linux bilmek şart mı?

Şart değil ama temel komut satırı bilgisi (cd, ls, dosya düzenleme) çok işinize yarar.

Docker ile Kubernetes aynı şey mi?

Hayır. Docker container üretir ve çalıştırır. Kubernetes, çok sayıda container'ı birden çok sunucuda yönetir. Önce Docker'ı öğrenin.

Next guides

Comments (0)

No comments yet.

Your email will not be published, it is kept only for moderation. See our privacy policy. Log in and your comment will be saved under your name.

Comments are moderated before publishing.