Dockerfile’ları okuma ve container çalıştırma

Konteynerleştirme ve Sanallaştırma Kavramları

Julia Ostheimer

Freelance AI Consultant

Docker terimlerine tekrar bakış

 

Dockerfile’dan Docker container’a

Konteynerleştirme ve Sanallaştırma Kavramları

Docker talimatları ve Docker komutları

  • Docker talimatları, bir Docker imajının nasıl inşa edileceğini açıklar

Dockerfile’daki Docker talimatları

  • Docker komutları: Komut Satırı Arayüzü (CLI) üzerinden komutlardır

CLI’de Docker komutları

Konteynerleştirme ve Sanallaştırma Kavramları

Bir Dockerfile’ın biçimi

 

Dockerfile - Yorum

Konteynerleştirme ve Sanallaştırma Kavramları

Bir Dockerfile’ın biçimi

 

Dockerfile - Talimat

Konteynerleştirme ve Sanallaştırma Kavramları

Bir Dockerfile’ın biçimi

 

Dockerfile - Docker talimatının komutu

Konteynerleştirme ve Sanallaştırma Kavramları

Bir Dockerfile’ın biçimi

 

Dockerfile - Docker talimatının argümanı

Konteynerleştirme ve Sanallaştırma Kavramları

Dockerfile’larda sıralı yürütme

  • Sıralı yürütme
  • Dockerfile’ın başlangıcı:
    • Üstveri
    • Yorumlar
    • Argümanlar
    • FROM talimatı
Konteynerleştirme ve Sanallaştırma Kavramları

Docker talimatlarına genel bakış

  • Önemli Docker talimatları
    • FROM
    • COPY
    • RUN
    • ENTRYPOINT
Konteynerleştirme ve Sanallaştırma Kavramları

FROM talimatı

  • Mevcut bir Docker imajını belirtir
  • Üzerine inşa edeceğimiz imajı tanımlar
    • “Başlangıç noktası”  

Sözdizimi:

FROM <name_of_image>

Örnek:

# Üzerine inşa edilecek imajı tanımla
FROM python:3.10
Konteynerleştirme ve Sanallaştırma Kavramları

COPY talimatı

  • Dosya veya dizinleri kopyalar
    • Kaynaktan (<source>) hedefe (<destination>)
    • Sonraki Docker talimatlarında gereken dosyalar  

Sözdizimi:

COPY <source> <destination>

Örnek:

# Dosya/klasörleri container’ın ana klasörüne kopyala
COPY . .
Konteynerleştirme ve Sanallaştırma Kavramları

RUN talimatı

  • Container içinde bir komut çalıştırır
    • CLI’de çalıştırılabilecek herhangi bir komut olabilir

 

Sözdizimi:

RUN <command>

Örnek:

# Uygulama bağımlılıklarını yükle
RUN pip install -r requirements.txt
Konteynerleştirme ve Sanallaştırma Kavramları

ENTRYPOINT talimatı

  • Container’ın varsayılan davranışını tanımlar
    • Başlangıçta çalışacak komutu belirtir
    • Container’ın temel amacı  

Sözdizimi:

ENTRYPOINT ["command", "argument"]

Örnek:

# Container başladığında script’i çalıştır
ENTRYPOINT ["python", "hello_world.py"]
Konteynerleştirme ve Sanallaştırma Kavramları

Talimatları Dockerfile’da birleştirme

# Üzerine inşa edilecek imajı tanımla
FROM python:3.10
Konteynerleştirme ve Sanallaştırma Kavramları

Talimatları Dockerfile’da birleştirme

# Üzerine inşa edilecek imajı tanımla
FROM python:3.10

# Dosya/klasörleri container’ın ana klasörüne kopyala
COPY . .
Konteynerleştirme ve Sanallaştırma Kavramları

Talimatları Dockerfile’da birleştirme

# Üzerine inşa edilecek imajı tanımla
FROM python:3.10

# Dosya/klasörleri container’ın ana klasörüne kopyala
COPY . .

# Uygulama bağımlılıklarını yükle
RUN pip install -r requirements.txt
Konteynerleştirme ve Sanallaştırma Kavramları

Talimatları Dockerfile’da birleştirme

# Üzerine inşa edilecek imajı tanımla
FROM python:3.10

# Dosya/klasörleri container’ın ana klasörüne kopyala
COPY . .

# Uygulama bağımlılıklarını yükle
RUN pip install -r requirements.txt

# Container başladığında script’i çalıştır
ENTRYPOINT ["python", "hello_world.py"]
Konteynerleştirme ve Sanallaştırma Kavramları

docker build komutu

  • Dockerfile’dan Docker imajı oluşturur
    • Dockerfile, build bağlamında (<context>) olmalıdır
    • CLI üzerinden Docker istemcisiyle çalıştırılır

 

Sözdizimi:

docker build <context>
Konteynerleştirme ve Sanallaştırma Kavramları

docker run komutu

  • Docker imajından container oluşturur ve çalıştırır
    • Argüman olarak imaj adı gerekir (<name_of_image>)
    • CLI üzerinden Docker istemcisiyle çalıştırılır

 

Sözdizimi:

docker run <name_of_image>
Konteynerleştirme ve Sanallaştırma Kavramları

Haydi pratik yapalım!

Konteynerleştirme ve Sanallaştırma Kavramları

Preparing Video For Download...