Hızlı Şablon
Uygulama Bilgileri
Örn: 20 (Node), 3.12 (Python), 8.3 (PHP)
Paket Yöneticisi & Bağımlılıklar
Boşlukla ayırın. Örn: curl git libpng-dev
Her satıra bir değişken: KEY=value
Her satıra: kaynak hedef
Güvenlik & Optimizasyon
📄 DOCKERFILE
Faydalı Komutlar
Dockerfile, bir Docker imajının nasıl oluşturulacağını tanımlayan metin dosyasıdır. Her satır bir katman (layer) oluşturur. İyi yazılmış Dockerfile küçük, güvenli ve hızlı build eden imajlar üretir.
⚡ Multi-Stage Build
- ✦ Build ve runtime imajları ayrılır
- ✦ Final imaj çok küçük olur
- ✦ Build araçları son imaja gelmez
- ✦ Güvenlik açığı yüzeyi azalır
🔐 Güvenlik En İyi Pratikler
- ✦ Root olarak çalıştırmayın
- ✦ Alpine / distroless imaj kullanın
- ✦ Sırları ENV ile geçirmeyin
- ✦ COPY . . yapmaktan kaçının
- ✦ .dockerignore kullanın
📦 Layer Optimizasyonu
- ✦ RUN komutlarını birleştirin (&&)
- ✦ Önce bağımlılık dosyasını kopyalayın
- ✦ Değişen dosyaları en sona koyun
- ✦ BuildKit cache mount kullanın
📋 Faydalı Komutlar
- ✦
docker build -t ad . - ✦
docker history imaj:tag - ✦
docker scout cves imaj - ✦
dive imaj:tag(layer analizi)
Not: Üretilen Dockerfile’ı projenize göre uyarlayın. Sırları (API key, şifre) hiçbir zaman Dockerfile içine yazmayın — Docker secrets veya environment variable injection kullanın.