Bölüm 20 / 33
Docker ve Container Sistemleri
Uygulamaları image ve container olarak paketleme, ağ, depolama, compose ve registry kavramları.
3 canlı örnek — seçerek incele
İlgili kavramlar: Docker, Container, Compose
Container düşüncesi
Compose ile servisler birlikte ayağa kalkar; her kutu bir container.
Bir uygulama sürecini bağımlılıkları ve izole dosya sistemiyle çalıştıran hafif çalışma birimi.
Uygulamayı taşınabilir container image olarak paketleme yaklaşımı.
Container image oluşturma, çalıştırma ve yönetme platformu.
Docker daemon, API ve CLI bileşenlerinden oluşan çalışma sistemi.
Image, container, network ve volume nesnelerini yöneten arka plan servisi.
Docker daemon ile komutlar üzerinden iletişim kuran araç.
Docker Engine işlemlerini programatik olarak kontrol eden API.
Container çalıştırmak için uygulama, bağımlılık ve dosya sistemi katmanlarını içeren salt-okunur şablon.
Bir image'dan oluşturulmuş çalışan veya durmuş container örneği.
Dockerfile adımlarından oluşan önbelleklenebilir salt-okunur dosya sistemi katmanı.
Çalışan container'ın image katmanları üzerine eklenen geçici yazılabilir katmanı.
Dockerfile'ın FROM satırında kullanılan başlangıç image'ı.
Docker veya yazılım üreticisi tarafından yayınlanan güvenilir image.
Image sürüm veya varyantını belirten human-readable etiket.
Otomatik olarak en yeni olduğu garanti edilmeyen varsayılan image etiketi.
Image içeriğini değişmez biçimde tanımlayan sha256 özeti.
Dağıtıldıktan sonra içeriği değiştirilmeden yeni sürüm için yeni image üretilmesi ilkesi.
Bir Docker image'ın nasıl build edileceğini adım adım tanımlayan dosya.
- FROMT
Dockerfile'ın temel image'ını belirler.
Sonraki komutların çalışacağı container içi dizini belirler.
- COPYT
Build context içindeki dosyaları image'a kopyalar.
- ADDO
COPY'ye ek olarak arşiv açma veya URL gibi davranışlar içeren talimat.
- RUNT
Image build sırasında komut çalıştırıp yeni layer oluşturur.
- CMDT
Container başlatıldığında varsayılan komut veya argümanları belirler.
Container'ın temel çalıştırılabilir komutunu sabitler.
- ENVT
Image veya container için ortam değişkeni tanımlar.
- ARGO
Yalnızca image build sırasında kullanılabilen değişken.
Image'ın uygulama tarafından dinlenmesi beklenen portunu dokümante eder.
- USERO
Container içindeki sonraki komutların ve runtime sürecinin kullanıcısını belirler.
Belirli container yolunun kalıcı veya harici veri için kullanılacağını belirtir.
Image'a sürüm, sahip veya kaynak gibi metadata ekler.
Container içindeki servisin sağlık durumunu kontrol eden komut tanımlar.
Dockerfile RUN komutlarının kullanacağı varsayılan shell'i değiştirir.
Docker build sırasında daemon'a gönderilen dosya ve klasör kapsamı.
Build context'e gönderilmeyecek dosya desenlerini belirtir.
Değişmeyen Dockerfile adımlarının önceki layer sonuçlarını yeniden kullanır.
Bir layer girdisi değiştiğinde sonraki build katmanlarının yeniden oluşturulması.
Build araçlarını final image'dan ayırarak küçük ve güvenli image üretme.
Bağımlılık derleme ve build işlemlerinin yapıldığı ara image aşaması.
Yalnızca uygulama ve çalışma bağımlılıklarını içeren final aşama.
Shell ve paket yöneticisi gibi gereksiz runtime bileşenleri içermeyen minimal image.
Küçük boyutlu Alpine Linux tabanlı image.
Standart dağıtım image'ının azaltılmış paketli varyantı.
Image layer'larının toplam depolama ve transfer boyutu.
Layer sırası, multi-stage ve gereksiz dosyaları kaldırarak image'ı küçültme.
Dockerfile ve context'ten image oluşturma işlemi.
Paralel build, gelişmiş cache ve secret mount sağlayan modern Docker build sistemi.
Gizli değeri image layer'ına yazmadan build adımında geçici kullanma.
Multi-stage Dockerfile içindeki belirli aşamayı build etme.
linux/amd64 veya linux/arm64 gibi image'ın hedef işletim sistemi ve işlemci mimarisi.
Aynı tag altında farklı CPU mimarileri için image manifest'i.
Create, start, running, stop, exited ve remove durumları.
Image'dan container oluşturup çalıştıran komut.
Container oluşturur ancak başlatmaz.
Daha önce oluşturulmuş durmuş container'ı başlatır.
Container sürecine sonlanma sinyali gönderip kontrollü durdurur.
Container sürecini beklemeden belirli sinyalle durdurur.
Container'ı durdurup yeniden başlatır.
Durdurulmuş container kaydını kaldırır.
Çalışan container içinde yeni komut veya shell başlatır.
Container'ın stdout ve stderr çıktısını gösterir.
Docker nesnesinin ayrıntılı JSON yapılandırmasını gösterir.
Çalışan container'ların CPU, bellek ve ağ kullanımını canlı gösterir.
Container'ı terminali meşgul etmeden arka planda çalıştırma.
Container stdin ve terminaline etkileşimli bağlanma.
Container'a insan tarafından okunabilir benzersiz ad verme.
Container durduğunda always, unless-stopped veya on-failure ile yeniden başlatma kuralı.
Zorla durdurmadan önce sürecin kontrollü kapanması için verilen süre.
Container içinde sinyal iletimi ve zombie process toplama sorumluluğu olan ana süreç.
Container içinde sinyalleri yöneten ve child process'leri temizleyen küçük init.
Container silindiğinde yazılabilir katmanındaki verinin de kaybolduğu çalışma modeli.
Container yaşam döngüsünden bağımsız korunması gereken veri.
Docker tarafından yönetilen kalıcı veri deposu.
İsimle oluşturulan ve container'lar arasında yeniden kullanılabilen volume.
Otomatik rastgele adla oluşturulan Docker volume.
Host üzerindeki belirli dosya veya dizini container içine bağlar.
Veriyi diske yazmadan yalnızca host belleğinde tutan mount.
Yerel veya uzak depolama sağlayıcısı üzerinden volume davranışını uygular.
Container'ın bağlı dosya veya volume'a yazmasını engeller.
Volume içeriğini tutarlı biçimde yedekleme işlemi.
Yedeklenmiş kalıcı veriyi volume'a geri yükleme.
Container'ların birbirleriyle ve dış ağla iletişim kurduğu sanal ağ.
Tek Docker host üzerindeki container'lar için varsayılan özel ağ sürücüsü.
Otomatik DNS ve izolasyon sağlayan kullanıcı tanımlı bridge ağı.
Container'ın host ağ namespace'ini doğrudan kullanması.
Container'ın harici ağ erişimi olmadan çalışması.
Birden fazla Docker host veya Swarm node arasında sanal ağ oluşturur.
Container'a yerel ağda fiziksel cihaz gibi ayrı MAC ve IP sağlar.
Aynı user-defined network'teki container'ların servis adıyla birbirini bulması.
Servis instance'larının isim veya registry üzerinden bulunması.
Host portunu container portuna yönlendirerek dış erişim sağlar.
8080:3000 gibi host ve container port eşlemesi.
Image'ın beklenen port bilgisidir; tek başına dış erişim sağlamaz.
Dış ağa çıkışı sınırlandırılmış Docker ağı.
Container'a aynı network içinde ek DNS adı verir.
Docker network içinde container'a atanan geçici IP.
Aynı servis adına birden fazla IP döndürerek basit dağıtım yapma.
Çok container'lı uygulamaları tek YAML dosyasında tanımlayıp çalıştıran araç.
Service, network, volume ve yapılandırmaları tanımlayan Compose dosyası.
Compose içinde image, build, port ve environment ayarlarıyla tanımlanan container rolü.
Compose dosyasındaki uygulama bileşenleri bölümü.
Compose tarafından kullanılacak kalıcı volume tanımları bölümü.
Compose servislerinin bağlanacağı ağları tanımlar.
Servislerin oluşturulma ve başlatılma sırası bağımlılığını belirtir.
Bağımlı servisin yalnızca healthcheck başarılı olduğunda hazır kabul edilmesi.
Container'a geçirilecek ortam değişkenlerini tanımlar.
Environment değerlerini ayrı dosyadan yükler.
Host ve container port eşlemelerini tanımlar.
Portu yalnızca compose network içindeki servisler için belgeler.
Service image'ının hangi context ve Dockerfile'dan üretileceğini belirtir.
Kullanılacak veya build sonrası etiketlenecek image adını belirtir.
Image CMD değerini service için değiştirir.
Image ENTRYPOINT değerini service için değiştirir.
Service container restart policy ayarı.
Belirli servis gruplarını isteğe bağlı çalıştırma özelliği.
Ortam veya geliştiriciye özel ayarları ikinci Compose dosyasıyla değiştirme.
Aynı compose dosyasındaki kaynakları ortak isim alanında gruplar.
Compose servislerini oluşturup başlatır.
Compose container ve network'lerini durdurup kaldırır.
Servislerin remote image sürümlerini indirir.
Build tanımı olan servis image'larını oluşturur.
Compose projesindeki servis container durumlarını gösterir.
Tüm veya seçilen servislerin loglarını gösterir.
Çalışan compose service container'ında komut çalıştırır.
Container image'larının saklandığı ve dağıtıldığı servis.
Docker'ın genel image registry hizmeti.
Yalnızca yetkili kullanıcıların erişebildiği özel image deposu.
Registry içindeki image ailesinin adı.
Private image push/pull için kullanıcı veya token doğrulaması.
Registry credential bilgisini Docker client'a kaydeder.
Yerel image'ı registry'ye yükler.
Registry'den image indirir.
Eski ve kullanılmayan image tag'lerinin ne kadar saklanacağını belirleyen politika.
Artık referans edilmeyen image blob'larını depodan temizler.
Image, runtime, ağ, secret ve yetkileri riskleri azaltacak biçimde yönetme.
Container içindeki sürecin root kullanıcıyla çalışması.
Uygulama sürecini sınırlı kullanıcıyla çalıştırma.
Root yetkilerini küçük bağımsız ayrıcalıklara bölen kernel özelliği.
Container'ın ihtiyaç duymadığı kernel yetkilerini kaldırma.
Host üzerinde çok geniş yetki verilen yüksek riskli container modu.
Container ana dosya sistemine runtime yazmayı engelleme.
Container süreçlerinin kullanabileceği system call'ları filtreleme.
Linux uygulama erişimlerini profil tabanlı sınırlayan güvenlik sistemi.
Image paketlerini bilinen güvenlik açıklarına karşı tarama.
- SBOMO
Image veya yazılım içindeki paket ve bileşenlerin makine okunabilir envanteri.
Kaynak koddan image ve production'a kadar yazılım üretim zincirini koruma.
Image'ın kaynağı ve bütünlüğünü kriptografik olarak doğrulama.
Gizli değeri environment veya image yerine runtime dosyası olarak güvenli sunma.
Docker daemon kontrol API'sine erişen yüksek yetkili Unix socket.
Docker socket'i container'a bağlamanın host üzerinde root eşdeğeri risk oluşturması.
Container'ın kullanabileceği CPU ve belleği sınırlar.
Container'ın maksimum bellek kullanım sınırı.
Container'a ayrılan CPU zamanı veya çekirdek payı.
Bellek sınırı veya host baskısı nedeniyle sürecin kernel tarafından sonlandırılması.
Container servisinin çalışır durumda olup olmadığını periyodik kontrol eder.
Healthcheck kontrollerinin başarılı olduğu durum.
Healthcheck kontrollerinin art arda başarısız olduğu durum.
Container stdout/stderr loglarının nereye ve nasıl yazılacağını belirler.
Docker'ın varsayılan yerel JSON log sürücüsü.
Log dosyalarının boyut veya zamana göre bölünüp eskilerinin silinmesi.
Docker Engine'leri cluster hâlinde servis olarak yöneten orkestrasyon sistemi.
Swarm cluster'a katılmış Docker host.
Swarm durumunu ve servis planlamasını yöneten node.
Manager tarafından verilen container görevlerini çalıştıran node.
İstenen replica sayısı ve image ile tanımlanan uzun ömürlü uygulama.
Aynı servisin çalışan container örneklerinden biri.
Swarm servis replica'larını kontrollü sırayla yeni image'a günceller.
Servisin hangi node özelliklerinde çalışabileceğini belirler.
Container'ların yerleştirme, ölçekleme, ağ ve hata durumlarını otomatik yönetme.
Container uygulamalarını cluster üzerinde orkestre eden yaygın platform.
- Podİ
Kubernetes'te ortak ağ ve volume paylaşan en küçük deploy birimi.
Kubernetes pod replica ve rolling update durumunu yöneten kaynak.
Kubernetes pod'larına kararlı ağ erişimi sunan kaynak.
HTTP/HTTPS trafiğini cluster servislerine yönlendiren kaynak.
Gizli olmayan uygulama yapılandırmasını tutan Kubernetes kaynağı.
Gizli yapılandırma değerlerini tutan Kubernetes kaynağı.
Cluster'da kalıcı depolama kaynağı.
| Kavram | Seviye | Kısa açıklama |
|---|---|---|
| Container | T | Bir uygulama sürecini bağımlılıkları ve izole dosya sistemiyle çalıştıran hafif çalışma birimi. |
| Containerization | T | Uygulamayı taşınabilir container image olarak paketleme yaklaşımı. |
| Docker | T | Container image oluşturma, çalıştırma ve yönetme platformu. |
| Docker Engine | T | Docker daemon, API ve CLI bileşenlerinden oluşan çalışma sistemi. |
| Docker Daemon | O | Image, container, network ve volume nesnelerini yöneten arka plan servisi. |
| Docker CLI | T | Docker daemon ile komutlar üzerinden iletişim kuran araç. |
| Docker API | O | Docker Engine işlemlerini programatik olarak kontrol eden API. |
| Image | T | Container çalıştırmak için uygulama, bağımlılık ve dosya sistemi katmanlarını içeren salt-okunur şablon. |
| Container Instance | T | Bir image'dan oluşturulmuş çalışan veya durmuş container örneği. |
| Image Layer | O | Dockerfile adımlarından oluşan önbelleklenebilir salt-okunur dosya sistemi katmanı. |
| Writable Layer | O | Çalışan container'ın image katmanları üzerine eklenen geçici yazılabilir katmanı. |
| Base Image | T | Dockerfile'ın FROM satırında kullanılan başlangıç image'ı. |
| Official Image | T | Docker veya yazılım üreticisi tarafından yayınlanan güvenilir image. |
| Image Tag | T | Image sürüm veya varyantını belirten human-readable etiket. |
| latest Tag | T | Otomatik olarak en yeni olduğu garanti edilmeyen varsayılan image etiketi. |
| Image Digest | O | Image içeriğini değişmez biçimde tanımlayan sha256 özeti. |
| Immutable Image | O | Dağıtıldıktan sonra içeriği değiştirilmeden yeni sürüm için yeni image üretilmesi ilkesi. |
| Dockerfile | T | Bir Docker image'ın nasıl build edileceğini adım adım tanımlayan dosya. |
| FROM | T | Dockerfile'ın temel image'ını belirler. |
| WORKDIR | T | Sonraki komutların çalışacağı container içi dizini belirler. |
| COPY | T | Build context içindeki dosyaları image'a kopyalar. |
| ADD | O | COPY'ye ek olarak arşiv açma veya URL gibi davranışlar içeren talimat. |
| RUN | T | Image build sırasında komut çalıştırıp yeni layer oluşturur. |
| CMD | T | Container başlatıldığında varsayılan komut veya argümanları belirler. |
| ENTRYPOINT | O | Container'ın temel çalıştırılabilir komutunu sabitler. |
| ENV | T | Image veya container için ortam değişkeni tanımlar. |
| ARG | O | Yalnızca image build sırasında kullanılabilen değişken. |
| EXPOSE | T | Image'ın uygulama tarafından dinlenmesi beklenen portunu dokümante eder. |
| USER | O | Container içindeki sonraki komutların ve runtime sürecinin kullanıcısını belirler. |
| VOLUME | O | Belirli container yolunun kalıcı veya harici veri için kullanılacağını belirtir. |
| LABEL | O | Image'a sürüm, sahip veya kaynak gibi metadata ekler. |
| HEALTHCHECK | O | Container içindeki servisin sağlık durumunu kontrol eden komut tanımlar. |
| SHELL | İ | Dockerfile RUN komutlarının kullanacağı varsayılan shell'i değiştirir. |
| Build Context | O | Docker build sırasında daemon'a gönderilen dosya ve klasör kapsamı. |
| .dockerignore | T | Build context'e gönderilmeyecek dosya desenlerini belirtir. |
| Build Cache | O | Değişmeyen Dockerfile adımlarının önceki layer sonuçlarını yeniden kullanır. |
| Cache Invalidation | O | Bir layer girdisi değiştiğinde sonraki build katmanlarının yeniden oluşturulması. |
| Multi-stage Build | O | Build araçlarını final image'dan ayırarak küçük ve güvenli image üretme. |
| Builder Stage | O | Bağımlılık derleme ve build işlemlerinin yapıldığı ara image aşaması. |
| Runtime Stage | O | Yalnızca uygulama ve çalışma bağımlılıklarını içeren final aşama. |
| Distroless Image | İ | Shell ve paket yöneticisi gibi gereksiz runtime bileşenleri içermeyen minimal image. |
| Alpine Image | O | Küçük boyutlu Alpine Linux tabanlı image. |
| Slim Image | O | Standart dağıtım image'ının azaltılmış paketli varyantı. |
| Image Size | T | Image layer'larının toplam depolama ve transfer boyutu. |
| Image Optimization | O | Layer sırası, multi-stage ve gereksiz dosyaları kaldırarak image'ı küçültme. |
| Docker Build | T | Dockerfile ve context'ten image oluşturma işlemi. |
| BuildKit | O | Paralel build, gelişmiş cache ve secret mount sağlayan modern Docker build sistemi. |
| Build Secret | O | Gizli değeri image layer'ına yazmadan build adımında geçici kullanma. |
| Target Stage | O | Multi-stage Dockerfile içindeki belirli aşamayı build etme. |
| Platform | O | linux/amd64 veya linux/arm64 gibi image'ın hedef işletim sistemi ve işlemci mimarisi. |
| Multi-architecture Image | İ | Aynı tag altında farklı CPU mimarileri için image manifest'i. |
| Container Lifecycle | T | Create, start, running, stop, exited ve remove durumları. |
| docker run | T | Image'dan container oluşturup çalıştıran komut. |
| docker create | T | Container oluşturur ancak başlatmaz. |
| docker start | T | Daha önce oluşturulmuş durmuş container'ı başlatır. |
| docker stop | T | Container sürecine sonlanma sinyali gönderip kontrollü durdurur. |
| docker kill | O | Container sürecini beklemeden belirli sinyalle durdurur. |
| docker restart | T | Container'ı durdurup yeniden başlatır. |
| docker rm | T | Durdurulmuş container kaydını kaldırır. |
| docker exec | T | Çalışan container içinde yeni komut veya shell başlatır. |
| docker logs | T | Container'ın stdout ve stderr çıktısını gösterir. |
| docker inspect | O | Docker nesnesinin ayrıntılı JSON yapılandırmasını gösterir. |
| docker stats | T | Çalışan container'ların CPU, bellek ve ağ kullanımını canlı gösterir. |
| Detached Mode | T | Container'ı terminali meşgul etmeden arka planda çalıştırma. |
| Interactive Mode | T | Container stdin ve terminaline etkileşimli bağlanma. |
| Container Name | T | Container'a insan tarafından okunabilir benzersiz ad verme. |
| Restart Policy | O | Container durduğunda always, unless-stopped veya on-failure ile yeniden başlatma kuralı. |
| Grace Period | O | Zorla durdurmadan önce sürecin kontrollü kapanması için verilen süre. |
| PID 1 | İ | Container içinde sinyal iletimi ve zombie process toplama sorumluluğu olan ana süreç. |
| Init Process | İ | Container içinde sinyalleri yöneten ve child process'leri temizleyen küçük init. |
| Ephemeral Container | O | Container silindiğinde yazılabilir katmanındaki verinin de kaybolduğu çalışma modeli. |
| Persistent Data | T | Container yaşam döngüsünden bağımsız korunması gereken veri. |
| Volume | T | Docker tarafından yönetilen kalıcı veri deposu. |
| Named Volume | T | İsimle oluşturulan ve container'lar arasında yeniden kullanılabilen volume. |
| Anonymous Volume | O | Otomatik rastgele adla oluşturulan Docker volume. |
| Bind Mount | T | Host üzerindeki belirli dosya veya dizini container içine bağlar. |
| tmpfs Mount | O | Veriyi diske yazmadan yalnızca host belleğinde tutan mount. |
| Volume Driver | İ | Yerel veya uzak depolama sağlayıcısı üzerinden volume davranışını uygular. |
| Read-only Mount | O | Container'ın bağlı dosya veya volume'a yazmasını engeller. |
| Volume Backup | O | Volume içeriğini tutarlı biçimde yedekleme işlemi. |
| Volume Restore | O | Yedeklenmiş kalıcı veriyi volume'a geri yükleme. |
| Docker Network | T | Container'ların birbirleriyle ve dış ağla iletişim kurduğu sanal ağ. |
| Bridge Network | T | Tek Docker host üzerindeki container'lar için varsayılan özel ağ sürücüsü. |
| User-defined Bridge | O | Otomatik DNS ve izolasyon sağlayan kullanıcı tanımlı bridge ağı. |
| Host Network | O | Container'ın host ağ namespace'ini doğrudan kullanması. |
| None Network | O | Container'ın harici ağ erişimi olmadan çalışması. |
| Overlay Network | İ | Birden fazla Docker host veya Swarm node arasında sanal ağ oluşturur. |
| Macvlan | İ | Container'a yerel ağda fiziksel cihaz gibi ayrı MAC ve IP sağlar. |
| Container DNS | O | Aynı user-defined network'teki container'ların servis adıyla birbirini bulması. |
| Service Discovery | O | Servis instance'larının isim veya registry üzerinden bulunması. |
| Port Publishing | T | Host portunu container portuna yönlendirerek dış erişim sağlar. |
| Port Mapping | T | 8080:3000 gibi host ve container port eşlemesi. |
| Exposed Port | T | Image'ın beklenen port bilgisidir; tek başına dış erişim sağlamaz. |
| Internal Network | O | Dış ağa çıkışı sınırlandırılmış Docker ağı. |
| Network Alias | O | Container'a aynı network içinde ek DNS adı verir. |
| Container IP | O | Docker network içinde container'a atanan geçici IP. |
| DNS Round Robin | İ | Aynı servis adına birden fazla IP döndürerek basit dağıtım yapma. |
| Docker Compose | T | Çok container'lı uygulamaları tek YAML dosyasında tanımlayıp çalıştıran araç. |
| compose.yml | T | Service, network, volume ve yapılandırmaları tanımlayan Compose dosyası. |
| Service | T | Compose içinde image, build, port ve environment ayarlarıyla tanımlanan container rolü. |
| services | T | Compose dosyasındaki uygulama bileşenleri bölümü. |
| volumes | T | Compose tarafından kullanılacak kalıcı volume tanımları bölümü. |
| networks | T | Compose servislerinin bağlanacağı ağları tanımlar. |
| depends_on | O | Servislerin oluşturulma ve başlatılma sırası bağımlılığını belirtir. |
| Health Condition | O | Bağımlı servisin yalnızca healthcheck başarılı olduğunda hazır kabul edilmesi. |
| environment | T | Container'a geçirilecek ortam değişkenlerini tanımlar. |
| env_file | T | Environment değerlerini ayrı dosyadan yükler. |
| ports | T | Host ve container port eşlemelerini tanımlar. |
| expose | O | Portu yalnızca compose network içindeki servisler için belgeler. |
| build | T | Service image'ının hangi context ve Dockerfile'dan üretileceğini belirtir. |
| image | T | Kullanılacak veya build sonrası etiketlenecek image adını belirtir. |
| command | T | Image CMD değerini service için değiştirir. |
| entrypoint | O | Image ENTRYPOINT değerini service için değiştirir. |
| restart | T | Service container restart policy ayarı. |
| profiles | O | Belirli servis gruplarını isteğe bağlı çalıştırma özelliği. |
| Compose Override | O | Ortam veya geliştiriciye özel ayarları ikinci Compose dosyasıyla değiştirme. |
| Compose Project | T | Aynı compose dosyasındaki kaynakları ortak isim alanında gruplar. |
| docker compose up | T | Compose servislerini oluşturup başlatır. |
| docker compose down | T | Compose container ve network'lerini durdurup kaldırır. |
| docker compose pull | T | Servislerin remote image sürümlerini indirir. |
| docker compose build | T | Build tanımı olan servis image'larını oluşturur. |
| docker compose ps | T | Compose projesindeki servis container durumlarını gösterir. |
| docker compose logs | T | Tüm veya seçilen servislerin loglarını gösterir. |
| docker compose exec | T | Çalışan compose service container'ında komut çalıştırır. |
| Docker Registry | T | Container image'larının saklandığı ve dağıtıldığı servis. |
| Docker Hub | T | Docker'ın genel image registry hizmeti. |
| Private Registry | O | Yalnızca yetkili kullanıcıların erişebildiği özel image deposu. |
| Repository Name | T | Registry içindeki image ailesinin adı. |
| Registry Authentication | T | Private image push/pull için kullanıcı veya token doğrulaması. |
| docker login | T | Registry credential bilgisini Docker client'a kaydeder. |
| docker push | T | Yerel image'ı registry'ye yükler. |
| docker pull | T | Registry'den image indirir. |
| Image Retention | O | Eski ve kullanılmayan image tag'lerinin ne kadar saklanacağını belirleyen politika. |
| Registry Garbage Collection | O | Artık referans edilmeyen image blob'larını depodan temizler. |
| Container Security | T | Image, runtime, ağ, secret ve yetkileri riskleri azaltacak biçimde yönetme. |
| Root Container | T | Container içindeki sürecin root kullanıcıyla çalışması. |
| Non-root Container | O | Uygulama sürecini sınırlı kullanıcıyla çalıştırma. |
| Linux Capability | İ | Root yetkilerini küçük bağımsız ayrıcalıklara bölen kernel özelliği. |
| Capability Drop | İ | Container'ın ihtiyaç duymadığı kernel yetkilerini kaldırma. |
| Privileged Container | İ | Host üzerinde çok geniş yetki verilen yüksek riskli container modu. |
| Read-only Root Filesystem | O | Container ana dosya sistemine runtime yazmayı engelleme. |
| Seccomp | İ | Container süreçlerinin kullanabileceği system call'ları filtreleme. |
| AppArmor | İ | Linux uygulama erişimlerini profil tabanlı sınırlayan güvenlik sistemi. |
| Image Scanning | O | Image paketlerini bilinen güvenlik açıklarına karşı tarama. |
| SBOM | O | Image veya yazılım içindeki paket ve bileşenlerin makine okunabilir envanteri. |
| Supply Chain Security | İ | Kaynak koddan image ve production'a kadar yazılım üretim zincirini koruma. |
| Image Signing | İ | Image'ın kaynağı ve bütünlüğünü kriptografik olarak doğrulama. |
| Secret Mount | O | Gizli değeri environment veya image yerine runtime dosyası olarak güvenli sunma. |
| Docker Socket | İ | Docker daemon kontrol API'sine erişen yüksek yetkili Unix socket. |
| Socket Mount Risk | İ | Docker socket'i container'a bağlamanın host üzerinde root eşdeğeri risk oluşturması. |
| Resource Limit | O | Container'ın kullanabileceği CPU ve belleği sınırlar. |
| Memory Limit | O | Container'ın maksimum bellek kullanım sınırı. |
| CPU Limit | O | Container'a ayrılan CPU zamanı veya çekirdek payı. |
| OOM Kill | O | Bellek sınırı veya host baskısı nedeniyle sürecin kernel tarafından sonlandırılması. |
| Healthcheck | O | Container servisinin çalışır durumda olup olmadığını periyodik kontrol eder. |
| Healthy | T | Healthcheck kontrollerinin başarılı olduğu durum. |
| Unhealthy | T | Healthcheck kontrollerinin art arda başarısız olduğu durum. |
| Container Log Driver | O | Container stdout/stderr loglarının nereye ve nasıl yazılacağını belirler. |
| json-file Driver | O | Docker'ın varsayılan yerel JSON log sürücüsü. |
| Log Rotation | O | Log dosyalarının boyut veya zamana göre bölünüp eskilerinin silinmesi. |
| Docker Swarm | İ | Docker Engine'leri cluster hâlinde servis olarak yöneten orkestrasyon sistemi. |
| Swarm Node | İ | Swarm cluster'a katılmış Docker host. |
| Manager Node | İ | Swarm durumunu ve servis planlamasını yöneten node. |
| Worker Node | İ | Manager tarafından verilen container görevlerini çalıştıran node. |
| Swarm Service | İ | İstenen replica sayısı ve image ile tanımlanan uzun ömürlü uygulama. |
| Replica | O | Aynı servisin çalışan container örneklerinden biri. |
| Rolling Update | İ | Swarm servis replica'larını kontrollü sırayla yeni image'a günceller. |
| Placement Constraint | İ | Servisin hangi node özelliklerinde çalışabileceğini belirler. |
| Orchestration | İ | Container'ların yerleştirme, ölçekleme, ağ ve hata durumlarını otomatik yönetme. |
| Kubernetes | İ | Container uygulamalarını cluster üzerinde orkestre eden yaygın platform. |
| Pod | İ | Kubernetes'te ortak ağ ve volume paylaşan en küçük deploy birimi. |
| Deployment | İ | Kubernetes pod replica ve rolling update durumunu yöneten kaynak. |
| Service | İ | Kubernetes pod'larına kararlı ağ erişimi sunan kaynak. |
| Ingress | İ | HTTP/HTTPS trafiğini cluster servislerine yönlendiren kaynak. |
| ConfigMap | İ | Gizli olmayan uygulama yapılandırmasını tutan Kubernetes kaynağı. |
| Secret | İ | Gizli yapılandırma değerlerini tutan Kubernetes kaynağı. |
| Persistent Volume | İ | Cluster'da kalıcı depolama kaynağı. |
Bölüm uygulamaları
Bu bölümü bitirmeden önce şunları deneyin veya açıklayın.
- Node.js, PostgreSQL ve Redis içeren bir Compose dosyası hazırlayın; yalnızca uygulama portunu dışarı açın.
- Multi-stage Dockerfile ile development bağımlılıklarını final image'dan çıkarın.
- Volume silinmesi, container yeniden oluşturulması ve database backup/restore senaryosunu uygulayın.