Meydan okuma - Build ve run
- Docker & Kubernetes kursu
- Başlangıç
- Ders 79/82
- 5 dk
Image oluşturup container'ı belirli portta çalıştırırsın.
Meydan okuma: build ve run
Bir image'ı build etmek, sürümlemek ve doğru seçeneklerle çalıştırmak bir dizi komuttur. Bu meydan okumada sürüm etiketli bir build alacak, image'ı inceleyecek ve üretime yakın bir şekilde başlatacaksın:
docker build --pull -t api:1.0.0 -t api:latest .
docker history api:1.0.0
docker run -d --name api --restart unless-stopped -p 127.0.0.1:3000:3000 \
--env-file api.env --memory 256m api:1.0.0
docker logs -f apiUygulama Build ve incele
İki komut yaz: temel image'ı güncelleyerek mevcut klasörden hem api:1.0.0 hem api:latest etiketli build al; ardından api:1.0.0'ın katman geçmişini göster.
Başlangıç kodu
# buraya yazÖrnek çözüm
docker build --pull -t api:1.0.0 -t api:latest .
docker history api:1.0.0Beklenen çıktı
[+] Building 7.1s (12/12) FINISHED => naming to docker.io/library/api:1.0.0 done IMAGE CREATED CREATED BY SIZE 4f1e2d3c4b5a 3 seconds ago CMD ["node" "server.js"] 0B
Uygulama Üretim gibi çalıştır
Tek komutla api:1.0.0'dan api adlı container'ı başlat: arka planda; elle durdurulmadıkça yeniden başlasın; 3000 portu yalnızca 127.0.0.1'de yayınlansın; ayarlar api.env'den gelsin; bellek 256m ile sınırlı olsun.
Başlangıç kodu
# buraya yazBeklenen çıktı
7e8f90a1b2c3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bu çalıştırmada API'ye aynı ağdaki başka bir bilgisayardan erişilebilir mi?
- Yalnızca --memory kaldırılırsa
- Hayır, port yalnızca 127.0.0.1'e bağlı Doğru cevap
- Evet, 3000 portundan
- Yalnızca restart sonrası
Açıklama: Dışarıya açmak için genellikle önüne bir ters vekil konur.
2 Container'ın belleğini sınırla.
docker run -d ____ 256m api:1.0.0
docker run -d --memory 256m api:1.0.0
Açıklama: --memory (ya da -m) bir cgroup sınırıdır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
--pull |
Taze temel image |
--restart unless-stopped |
Dayanıklılık |
--env-file |
Ayarlar |
127.0.0.1:3000:3000 |
Yalnızca yerel erişim |