Service tanımı
- Docker & Kubernetes kursu
- Başlangıç
- Ders 62/82
- 4 dk
Web service'ini compose dosyasına eklersin.
Servis tanımı
Servis hazır bir image (image:) ya da projedeki bir Dockerfile'dan (build:) oluşturulabilir. docker run seçeneklerinin her birinin bir Compose karşılığı vardır:
services:
api:
build: .
image: api:dev
ports:
- "8000:8000"
environment:
LOG_LEVEL: info
restart: unless-stoppedbuild ve image birlikte yazılınca build edilen image o adla etiketlenir.
Build ayrıntıları
build uzun biçimde context, Dockerfile ve build argümanlarını alabilir. Kod değiştiğinde --build ile image yeniden oluşturulur:
services:
api:
build:
context: ./api
dockerfile: Dockerfile
args:
SURUM: "1.0.0"
docker compose up -d --buildCompose, proje klasörünün adını (ya da -p) önek yapar: container adı proje-api-1 olur.
Uygulama API servisi
compose.yaml'a api servisini yaz: mevcut klasörden build edilsin (build: .); 8000 portunu aynı numarayla yayınlasın; environment altında LOG_LEVEL: info olsun; restart: unless-stopped.
Başlangıç kodu
# compose.yaml
services:
# buraya yazÖrnek çözüm
# compose.yaml
services:
api:
build: .
ports:
- "8000:8000"
environment:
LOG_LEVEL: info
restart: unless-stoppedBeklenen çıktı
[+] Running 2/2 ✔ Image proje-api Built ✔ Container proje-api-1 Started
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 docker run -e LOG_LEVEL=info seçeneğinin Compose karşılığı nedir?
- args: LOG_LEVEL=info
- environment altında LOG_LEVEL: info Doğru cevap
- env: LOG_LEVEL
- vars: [info]
Açıklama: environment hem sözlük hem liste (- AD=değer) biçiminde yazılabilir.
2 Servisi projedeki Dockerfile'dan oluştur.
services:
api:
____: .
services:
api:
build: .
Açıklama: build, context klasörünü gösterir.
3 docker run karşılıklarını eşleştir.
| Kavram | Anlamı |
|---|---|
-p 8000:8000 |
ports |
-e AD=değer |
environment |
--restart |
restart |
docker build . |
build: . |