docker build
- Docker & Kubernetes kursu
- Başlangıç
- Ders 25/82
- 4 dk
docker build ile Dockerfile'dan image oluşturmayı öğrenirsin.
docker build
docker build, bir Dockerfile'dan image üretir. Son argüman build context'tir: Docker'a gönderilen klasör (genellikle .). -t image'a ad verir:
$ docker build -t api:1.0 .
[+] Building 6.3s (10/10) FINISHED
=> [1/4] FROM docker.io/library/python:3.12-slim
=> [2/4] WORKDIR /app
=> [3/4] COPY . .
=> naming to docker.io/library/api:1.0 doneDockerfile farklı bir adla ya da yerdeyse -f ile verilir: docker build -f docker/Dockerfile.prod -t api:prod .
Build sonrası
Üretilen image yerel depoda durur; docker images ile görülür ve doğrudan çalıştırılabilir. Kodu değiştirdikçe aynı etiketle yeniden build edersen eski image etiketsiz (<none>) kalır:
$ docker images api
REPOSITORY TAG IMAGE ID CREATED SIZE
api 1.0 4f1e2d3c4b5a 10 seconds ago 162MB
$ docker run --rm api:1.0Uygulama Build et ve çalıştır
Mevcut klasördeki Dockerfile'dan api:1.0 image'ını üreten, ardından onu iş bitince silinen bir container olarak çalıştıran iki komutu yaz.
Başlangıç kodu
# buraya yazÖrnek çözüm
docker build -t api:1.0 .
docker run --rm api:1.0Beklenen çıktı
[+] Building 6.3s (10/10) FINISHED => naming to docker.io/library/api:1.0 done * Running on http://0.0.0.0:8000
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 docker build -t api:1.0 . komutundaki nokta neyi belirtir?
- Image adını
- Etiketi
- Dockerfile içeriğini
- Build context olarak mevcut klasörü Doğru cevap
Açıklama: COPY yalnızca context içindeki dosyalara erişebilir.
2 Farklı bir Dockerfile kullan.
docker build ____ Dockerfile.prod -t api:prod .
docker build -f Dockerfile.prod -t api:prod .
Açıklama: -f (file) Dockerfile yolunu verir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
-t |
Image adı ve etiketi |
. |
Build context |
-f |
Dockerfile yolu |
<none> |
Etiketi alınmış eski image |