CodeBlanks Logo Icon CodeBlanks

Meydan okuma - Build ve run

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 api

Uygulama 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

terminal
# buraya yaz

Örnek çözüm

terminal
docker build --pull -t api:1.0.0 -t api:latest .
docker history api:1.0.0

Beklenen çı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

terminal
# buraya yaz

Beklenen çı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.

Soru
docker run -d ____ 256m api:1.0.0
Cevap
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

Başlangıç bölümündeki tüm dersler