Dockerfile nedir?
- Docker & Kubernetes kursu
- Başlangıç
- Ders 19/82
- 4 dk
Dockerfile'ın image tarif dosyası olduğunu öğrenirsin.
Dockerfile nedir?
Dockerfile, bir image'ın nasıl oluşturulacağını adım adım anlatan düz metin dosyasıdır. Her satır bir talimat (BÜYÜK harfle yazılır) ve argümanlarıdır. Docker talimatları yukarıdan aşağıya çalıştırır:
FROM python:3.12-slim
WORKDIR /app
COPY app.py .
CMD ["python", "app.py"]Bu dosya bir kez yazılır, sürüm kontrolüne konur ve herkes aynı image'ı docker build ile üretir.
Talimatlara genel bakış
FROM: temel imageWORKDIR: çalışma diziniCOPY: dosya kopyalamaRUN: build sırasında komut çalıştırmaENV: ortam değişkeniEXPOSE: uygulamanın dinlediği port (belge niteliğinde)CMD: container başlarken çalışacak varsayılan komut
# yorumlar # ile başlar
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/
EXPOSE 80Uygulama İlk Dockerfile
Bir statik site için Dockerfile yaz: temel image nginx:alpine; index.html dosyasını /usr/share/nginx/html/ dizinine kopyala; 80 portunu belgele.
Başlangıç kodu
# buraya yazÖrnek çözüm
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/
EXPOSE 80Beklenen çıktı
[+] Building 4.2s (8/8) FINISHED => naming to docker.io/library/site:latest done
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dockerfile'ın ilk talimatı (yorumlar ve ARG dışında) hangisi olmalıdır?
- FROM Doğru cevap
- RUN
- CMD
- COPY
Açıklama: Her image bir temel image'ın üstüne kurulur.
2 Uygulamanın dinlediği portu belgeleyen talimatı yaz.
____ 80
EXPOSE 80
Açıklama: EXPOSE portu açmaz; yalnızca belgeler. Yayınlamak için docker run -p gerekir.
3 Talimatları görevleriyle eşleştir.
| Kavram | Anlamı |
|---|---|
FROM |
Temel image |
COPY |
Dosya kopyalar |
RUN |
Build sırasında komut |
CMD |
Başlangıç komutu |