Docker, uygulamanı tüm bağımlılıklarıyla birlikte bir “kutuya” (konteyner) koyar. O kutu her yerde aynı çalışır: senin PC’nde, sunucuda, arkadaşında.
Üç temel kavram
- Image (imaj): uygulamanın kalıbı (ör.
python:3.12,nginx). - Container (konteyner): imajdan çalışan canlı örnek.
- Dockerfile: kendi imajını nasıl kuracağını anlatan tarif.
En sık kullanılan komutlar
docker run -d -p 8080:80 --name web nginx # nginx'i arka planda başlat, 8080'den eriş
docker ps # çalışan konteynerler
docker ps -a # duranlar dahil hepsi
docker logs web # konteynerin çıktısı
docker exec -it web bash # konteynerin içine gir
docker stop web && docker rm web # durdur ve sil
docker images # indirdiğin imajlar
Basit bir Python uygulamasını paketle
Dockerfile:
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
Kur ve çalıştır:
docker build -t benim-uygulama .
docker run --rm -p 5000:5000 benim-uygulama
Dikkat edilecekler
-p dış:içport eşlemesi.8080:80= dışarıdan 8080, konteyner içinde 80.- Hassas bilgileri (şifre, anahtar) imaja gömme;
-eile ortam değişkeni veya.envkullan. .dockerignoreile gereksiz dosyaları (.git,node_modules,.venv) imaja koyma; imaj küçülür.- Birden çok servis (uygulama + veritabanı) için docker compose öğren; tek dosyada hepsini yönetirsin.
Kurulumda takılırsanız hata mesajıyla Soru-Cevap’a gelin.