Bu sayfada · 10 başlık
Docker, uygulamaları ve onların çalışması için gereken tüm bağımlılıkları (kütüphaneler, ayarlar, veritabanı sürücüleri) "konteyner" adı verilen izole paketler haline getiren bir sanallaştırma teknolojisidir. Yazılım dünyasının en büyük kabusu olan "Benim bilgisayarımda çalışıyordu, sunucuda neden çalışmıyor?" bahanesini tarihe gömmüştür.
Docker Hakkında Bilmen Gereken 5 Temel Soru
Uygulamaları ve çalışması için gereken tüm bağımlılıkları “konteyner” adı verilen izole paketler haline getirerek her ortamda aynı şekilde çalıştırmak için kullanılır.
“Benim bilgisayarımda çalışıyordu, sunucuda çalışmıyor” sorununu yok etme, mikroservisler kurma, veritabanlarını tek komutla ayağa kaldırma yapılır.
Modern bulut bilişimde (AWS, Google Cloud, Azure), DevOps süreçlerinde ve mikroservis mimarilerinde kullanılır.
docker.com adresinden Docker Desktop kurulur; terminal üzerinden `docker run` ve `docker-compose` komutlarıyla çalıştırılır.
Yazılımın çalışacağı ortamı standardize eder; geliştirme ve üretim ortamları arasındaki tüm uyumsuzlukları sıfırlar.
Docker ile Gerçek Hayatta Neler Yapılır?
- Ortam Bağımsızlığı: Kodun geliştirici bilgisayarında, test sunucusunda veya AWS bulutunda birebir aynı çalışmasını sağlama.
- Hafif Sanallaştırma: Ağır sanal makinelerin (VMware, VirtualBox) aksine işletim sistemi çekirdeğini paylaşarak saniyeler içinde ayağa kalkma.
- Tek Komutla Karmaşık Sistem Kurma: docker-compose ile veritabanı, redis önbelleği ve web sunucusunu tek komutla ("docker compose up") başlatma.
- Mikroservis Yönetimi: Birbirinden bağımsız çalışan servisleri kaynak tüketimini sınırlayarak güvenle barındırma.
Pratik Bir Dockerfile ve Komut Örneği
# Basit bir Node.js uygulamasını konteyner haline getirme
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
# Konteyneri derle ve çalıştır
docker build -t ilk-uygulamam .
docker run -p 3000:3000 ilk-uygulamam
Docker kullanırken duyacağın kavramlar
- Image (kalıp)
- Uygulamanın ve ihtiyaç duyduğu her şeyin paketlenmiş, değişmeyen hâli. Bir yemek tarifi gibi düşünebilirsin.
- Container (konteyner)
- Bir kalıptan çalıştırılan uygulama. Tariften pişirilmiş yemek gibi.
- Dockerfile
- Kalıbın nasıl hazırlanacağını adım adım anlatan dosya.
- Docker Hub
- Hazır kalıpların paylaşıldığı internet sitesi.
- Port
- Konteynerdeki uygulamaya bilgisayarından ulaşmak için açılan kapı (ör. 8080).
Nasıl kurulur?
Adımları görsellerle takip et. Ekran görüntüsüne dokunarak büyütebilirsin; sürümüne veya işletim sistemine göre düğmelerin yeri değişebilir.
- 1
-
2
Windows'ta kurulum WSL 2'yi etkinleştirmeni isteyebilir. Ekrandaki adımları takip et ve bilgisayarı yeniden başlat.
Şekil 2 · WSL 2 isterse kurulumu tamamla ve bilgisayarı yeniden başlat. (temsili çizim) -
3
Docker Desktop'ı aç ve çalıştığından emin ol. Sonra terminalde test et:
Terminaldocker run hello-worldŞekil 3 · Bu mesajı görüyorsan Docker çalışıyor. (temsili çizim)
Sık karşılaşılan sorunlar ve çözümleri
Bir yerde takılırsan önce buraya bak.
"Cannot connect to the Docker daemon" hatası
Çözüm: Docker Desktop açık değil. Uygulamayı başlat ve çalışmasını bekle.
"port is already allocated" hatası
Çözüm: O port başka bir program tarafından kullanılıyor. Farklı bir port dene: -p 8081:80.
Docker diskimi doldurdu
Çözüm: Kullanılmayan kalıp ve konteynerleri temizlemek için: docker system prune
Sık sorulan sorular
Docker bir sanal makine mi? +
Hayır. Sanal makine bütün bir işletim sistemini çalıştırır; Docker konteynerleri çok daha hafiftir ve saniyeler içinde açılır.
Yeni başlayan biri Docker öğrenmeli mi? +
İlk aylarda gerekmez. Önce bir dil ve Git öğren; sunucu ve takım işlerine geçince Docker çok işine yarar.
Docker ile Profesyonel Çalışma Düzeni ve En İyi Pratikler
Docker aracını yalnızca temel kurulumla bırakmayıp günlük yazılım geliştirme sürecinde verimli kullanmak için şu kontrol listesini alışkanlık haline getirmelisin:
| Aşama | Doğru Uygulama (Best Practice) | Kaçınılması Gereken Hata | Kazanım |
|---|---|---|---|
| 1. Kurulum ve Yapılandırma | Resmi kaynaktan kararlı (LTS/Stable) sürümü kurmak ve sürüm numarasını doğrulamak | Rastgele üçüncü parti sitelerden eski kurulum paketi indirmek | Güvenlik yamaları ve güncel dokümantasyonla tam uyum |
| 2. Proje Klasör ve Ortam Düzeni | Her proje için ayrı çalışma dizini ve yapılandırma dosyası kullanmak | Tüm denemeleri masaüstünde veya sistem kök dizininde karıştırmak | Bağımlılık çakışmalarını ve dosya kayıplarını önler |
| 3. Güvenlik ve Gizli Bilgiler | API anahtarlarını, parolaları ve bağlantı dizelerini ortam değişkenlerinde (`.env`) tutmak | Parola veya gizli anahtarları doğrudan kod içine veya ekran görüntüsüne dahil etmek | Yetkisiz erişim ve veri sızıntısı riskini ortadan kaldırır |
| 4. Hata Ayıklama (Debugging) | Bir sorun çıktığında önce günlük (log) çıktısını ve hata mesajının satır numarasını okumak | Hata mesajını okumadan rastgele ayarları değiştirip yeniden kurmak | Sorun çözme süresini saatlerden dakikalara indirir |
Özellikle ekip çalışmalarında Docker ayarlarının ekip arkadaşlarınla aynı sürümde olması ("benim bilgisayarımda çalışıyordu" sorununu önlemek açısından) kritik önem taşır. İlk projeni tamamladıktan sonra klavye kısayollarını ve otomasyon özelliklerini adım adım iş akışına dahil edebilirsin.
Docker Kurulum ve Kullanım Adımlarına Geç
Docker aracını bilgisayarına kurmak, ilk projenle çalıştırmak ve sık karşılaşılan hataların çözümlerini görmek için hazırladığımız özel sayfayı inceleyebilirsin.
Yayın:
Yazan
Webino App Ekibi
Teknolojiyi sade Türkçeyle anlatan rehberler. Örnekleri kendin deneyebilir, bağlantılı resmi belgelerle konuyu derinleştirebilirsin.
Bunları da okuyabilirsin
Tüm yazılar →Yorumlar
Soruların ya da eklemek istediklerin varsa yaz.
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.


