İçeriğe geç
Blog · Yazılım

Docker image ile container arasındaki fark nedir?

Paket görüntüsü ile çalışan örneği ayır. Port, veri kalıcılığı ve çalışma ortamı kavramlarını aynı senaryo üzerinden öğren.

Webino App Ekibi Son güncelleme: 4 dk okuma
Bu sayfada · 12 başlık

Docker belgelerinde image ve container sözcükleri yan yana geçer ama aynı şey değildir. Image bir uygulamayı başlatmak için kullanılan dosya sistemi ve yapılandırma şablonudur. Container bu image’dan oluşturulan, çalıştırılabilen veya durdurulabilen bir örnektir.

Önce neyi çözmek istediğini belirle

İlk container’ı çalıştırıp neden hemen durduğunu anlamayı hedefliyoruz. Kurulum biçimi, lisans koşulları ve sistem gereksinimleri için resmi Docker yönergeleri esas alınmalıdır.

Adım adım uygula

  1. 1 Resmi örnekle başla. Docker kurulumu ve motorun çalıştığını kontrol et. Deneme için resmi hello-world image’ını kullan; bilinmeyen bir komutu yönetici yetkisiyle çalıştırma.
  2. 2 Örneği incele. docker ps çalışan container’ları gösterir; docker ps -a durmuş olanları da listeler. hello-world işini bitirince durduğu için ilk listede görünmeyebilir.
  3. 3 Veriyi ayrı düşün. Container silinince onun yazılabilir katmanındaki veri kaybolabilir. Kalıcı veride volume planla; image yedekleme ile veritabanı yedeklemenin aynı olmadığını bil.

Küçük bir örnek

Terminal
docker --version
docker run hello-world
docker ps -a
docker images

Sık takılınan nokta

Container bir sanal makineyle aynı yapı değildir. Bir servise port açmak da onu otomatik güvenli yapmaz. Özellikle veritabanı parolalarını image içine veya Dockerfile’a yazma.

Şimdi kendin dene

Deneme ortamında hello-world çalıştır. Oluşan container ve kullanılan image’ı listede bul; hangisinin çalıştırılabilir örnek, hangisinin şablon olduğunu kendi cümlelerinle açıkla.

Bir sonraki adım Konuyu örneklerle çalış → →

Docker Image ve Container Kavramlarının Teknik Karşılaştırması

ÖzellikDocker Image (Görüntü)Docker Container (Konteyner)Pratik Karşılığı
YapısıSalt okunur (Read-only) katmanlı dosya şablonuImage üzerine yazılabilir (Read-write) katman eklenmiş çalışan süreçImage = Yemek tarifi / Sınıf (Class), Container = Pişmiş yemek / Nesne (Instance)
Yaşam DöngüsüDiskte durur, silinene kadar değişmezBaşlatılır (`start`), durdurulur (`stop`), silinir (`rm`)Aynı image'dan 10 farklı container aynı anda ayağa kaldırılabilir
Veri Kalıcılığıİçindeki dosyalar sabittirContainer silindiğinde içindeki geçici veriler silinir (Volume bağlanmadıysa)Veritabanı dosyaları için mutlaka `-v` ile Volume kullanılmalıdır
Temel Komutlar`docker images`, `docker pull`, `docker build`, `docker rmi``docker run`, `docker ps`, `docker stop`, `docker logs`, `docker rm`Görüntü yönetimi vs süreç yönetimi

Gerçek Hayatta Karar Verme ve Uygulama Senaryoları

Adım Adım Dockerfile’dan Image ve Container Üretme Senaryosu

Kendi yazdığın bir Python veya Node.js uygulamasını ekip arkadaşının bilgisayarında hiçbir kurulum gerektirmeden çalıştırmak için şu 3 adımlı akışı izlersin: Dockerfile (Tarif) → docker build (Image) → docker run (Container).

Terminal & Dockerfile
# 1. Image kalıbını oluştur (sonundaki noktaya dikkat et)
docker build -t benim-uygulamam:v1 .

# 2. Bu image kalıbından 8080 portunda çalışan bir container başlat
docker run -d --name aktif-servis -p 8080:80 benim-uygulamam:v1

# 3. Çalışan container günlüğünü (log) incele ve durdur
docker logs aktif-servis
docker stop aktif-servis

Sıkça Sorulan Sorular (SSS)

Bir container'ı silersem image da silinir mi? +

Hayır. `docker rm` yalnızca çalışan veya durmuş örneği (container) siler; kalıp olan image diskte kalır ve ondan saniyeler içinde yeni bir container başlatabilirsin.

Container içinde yaptığım değişiklik kalıcı olur mu? +

Container üzerinde `docker rm` çalıştırıldığında yazılabilir katman silinir. Kalıcı olmasını istediğin yapılandırmaları `Dockerfile` içine yazıp yeni bir image derlemeli, verileri ise `Volume` içinde tutmalısın.

Kaynak ve devamı

Resmi belgeleri aç ↗

Yayın: · Güncelleme:

↑ Başa dön

Yazan

Webino App Ekibi

Teknolojiyi sade Türkçeyle anlatan rehberler. Örnekleri kendin deneyebilir, bağlantılı resmi belgelerle konuyu derinleştirebilirsin.

Bunları da okuyabilirsin

Tüm yazılar →

Yorumlar

Soruların ya da eklemek istediklerin varsa yaz.

Bu içerik işine yaradı mı?

Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.