docker nedir docker kurulumu docker kullanimi

Docker Nedir? Docker Kurulum Adımları ve Komutları

Kısaca

Docker, uygulamaları tüm bağımlılıklarıyla birlikte tek bir konteyner (container) içine paketleyip her ortamda aynı şekilde çalıştıran açık kaynaklı bir platformdur. Sanal makinelerin aksine işletim sistemi çekirdeğini paylaşır; bu yüzden saniyeler içinde başlar, daha az RAM ve disk tüketir. Linux sunucuda kurulum, Docker’ın resmi deposunu ekleyip docker-ce paketlerini yüklemekle birkaç dakikada tamamlanır.

  • Ubuntu/Debian için apt, AlmaLinux/CentOS/Rocky için dnf üzerinden resmi docker-ce deposu kullanılır; depodaki docker-io gibi eski paketler artık geçersizdir.
  • Güncel sürüm Docker Engine 29.x ve Compose v2‘dir; komut artık tire ile docker-compose değil, boşluk ile docker compose şeklinde çalışır.
  • Temel kavramlar: Image (şablon), Container (çalışan kopya), Dockerfile (tarif), Docker Hub (depo) ve Compose (çok konteynerli uygulama yönetimi).

Docker, dünyada en çok kullanılan yazılım konteynerleştirme platformudur. Konteyner kavramı temelde Linux Containers (LXC) teknolojisi üzerine kuruludur; aynı işletim sistemi çekirdeği içinde birbirinden yalıtılmış, bağımsız çalışan ortamlar sağlar. İşletim sistemi seviyesinde sanallaştırma sunduğu için, geleneksel hypervisor tabanlı sanal makinelere göre çok daha az disk ve RAM tüketir. Bir sanal makinenin tam bir işletim sistemini bootlaması gerekirken, bir Docker konteyneri sadece uygulamayı ve onun bağımlılıklarını taşır; bu da saniyeler içinde ayağa kalkmasını sağlar.

Bu rehberde Docker’ın ne olduğunu, nasıl çalıştığını ve Ubuntu ile AlmaLinux/CentOS üzerine güncel ve doğru şekilde nasıl kurulacağını en sık kullanılan komutlarla birlikte adım adım ele alıyoruz. Yazının sonunda en çok merak edilen sorulara da yanıt bulacaksınız.

Docker nedir ve nasil kullanilir gorseli

Docker Nedir? Konteyner Mantığı

Web uygulamalarının taşınabilirliğini ve performansını artıran Docker, geliştiricilerin uygulama kodlarını ve bu kodların çalışması için gereken tüm bağımlılıkları (kütüphaneler, çalışma zamanı, ortam değişkenleri) tek bir paket halinde bir araya getirmesini sağlar. Bu paket, bulunduğu makineden bağımsız olarak her yerde aynı şekilde çalışır. Böylece “benim bilgisayarımda çalışıyordu” sorununun önüne geçilir.

Docker, yazılım geliştirme ve dağıtım sürecini köklü şekilde değiştirmiştir. LXC’nin zengin mirası üzerine oturur; ondan farkı, manuel olarak yapılan işlemleri paketleyerek standartlaştırması ve konfigürasyon detaylarını sadeleştirmesidir. En önemli özelliği, konteyner yapısını metin tabanlı Image formatıyla tanımlamasıdır. Aynı Image kullanılarak istenildiği kadar aynı özellikte konteyner üretilebilir ve bu imajlar bir kayıt defteri (Registry) üzerinden başkalarıyla paylaşılabilir.

Mail hosting 1 ay ücretsiz

Docker ve Sanal Makine (VM) Farkı

Docker’ı anlamanın en hızlı yolu, onu klasik bir sanal makineyle karşılaştırmaktır. Sanal makineler her biri kendi tam işletim sistemini barındıran ağır yapılardır; Docker ise ana sistemin çekirdeğini paylaşan, sadece uygulamayı taşıyan hafif birimlerdir.

Özellik Docker Konteyner Sanal Makine (VM)
Başlatma süresi Saniyeler Dakikalar
Disk boyutu Megabaytlar (MB) Gigabaytlar (GB)
İşletim sistemi Ana çekirdeği paylaşır Her VM kendi OS’unu taşır
Kaynak tüketimi Düşük Yüksek
Yalıtım seviyesi Süreç/çekirdek seviyesi Donanım seviyesi (daha güçlü)
Tipik kullanım Mikro hizmet, CI/CD, dağıtım Farklı OS, tam izolasyon

Pratikte ikisi rakip değil, tamamlayıcıdır: Çoğu kurulumda Docker, bir bulut sunucu ya da sanal sunucu üzerinde çalışır; sanal makine donanım seviyesinde güçlü yalıtım sağlarken, Docker o makinenin içindeki uygulamaları hızlı ve taşınabilir şekilde paketler.

Docker ozellikleri ve avantajlari

Docker’ın Temel Özellikleri

1. Kapsayıcı (Container) Tabanlı Yapı

Docker, uygulamaları kapsayıcılar (containers) içinde çalıştırarak bağımsız ve taşınabilir bir ortam sunar. Kapsayıcılar işletim sisteminin çekirdeğini paylaşır ve yalnızca gerekli bağımlılıkları içerdiği için hafif, hızlı ve verimli bir yapıdadır.

2. Platform Bağımsızlığı

Docker kapsayıcıları “Bir kez inşa et, her yerde çalıştır” prensibiyle çalışır. Bir Docker imajı; Linux, Windows ve macOS üzerinde, ayrıca AWS, Google Cloud ve Azure gibi bulut platformlarında aynı şekilde çalıştırılabilir.

3. Hızlı Dağıtım ve Ölçeklenebilirlik

Docker ile uygulamalar hızlıca oluşturulup test edilebilir ve dağıtılabilir. Docker Compose ve Docker Swarm gibi araçlar sayesinde mikro hizmet mimarisi kolayca yönetilir ve ölçeklendirilir.

4. Hafif ve Verimli Kullanım

Docker kapsayıcıları, geleneksel sanal makinelerden farklı olarak yalnızca gerekli bileşenleri içerir ve sistem kaynaklarını çok daha az tüketir. Sanal makinelere kıyasla çok daha hızlı başlar.

5. Versiyonlama ve Sürümler Arası Geçiş Kolaylığı

Docker, uygulama sürümlerini yönetmek için Docker Image ve Dockerfile yapısını kullanır. Bu sayede farklı sürümler arasında hızlı geçiş yapabilir, gerektiğinde önceki sürüme kolayca geri dönebilirsiniz.

6. Güvenlik ve İzolasyon

Docker kapsayıcıları birbirinden izole çalıştığı için bir uygulamanın çökmesi diğerlerini etkilemez. Kapsayıcı bazlı güvenlik politikaları ve gizli bilgi (secret) yönetimi ile güvenli bir geliştirme ortamı sağlar.

7. Mikro Hizmet Mimarisi Desteği

Modern yazılım geliştirmede mikro hizmet mimarisi büyük önem taşır. Docker, her mikro hizmeti ayrı bir kapsayıcıda çalıştırarak hızlı güncelleme, hata izolasyonu ve ölçeklenebilirlik avantajı sunar.

8. Geniş Ekosistem ve Topluluk Desteği

Docker; geniş bir kullanıcı topluluğu ile Docker Hub gibi milyonlarca hazır imajın bulunduğu bir depo sistemine sahiptir. Bu sayede geliştirme süreci hızlanır ve hazır çözümler kolayca kullanılır.

Docker’ın Temel Bileşenleri

Bileşen Görevi
Docker Engine Kapsayıcıları çalıştıran ve yöneten çekirdek bileşen (daemon + CLI).
Docker Image (İmaj) Konteynerin oluşturulduğu salt-okunur şablon dosyası.
Docker Container İmajdan türetilen, çalışan uygulama birimi.
Dockerfile İmaj oluşturmak için adım adım talimatları içeren metin dosyası.
Docker Hub Hazır ve paylaşılan imajların bulunduğu merkezi depo (registry).
Docker Compose Çok konteynerli uygulamaları tek YAML dosyasıyla yöneten araç.
Docker Swarm Konteynerleri küme (cluster) halinde yöneten yerleşik orkestrasyon aracı.

Docker Nasıl Kurulur? (Güncel Yöntem)

Eskiden CentOS depolarındaki docker-io paketi ya da Ubuntu’daki paket yöneticisi sürümü kullanılıyordu; ancak bu sürümler artık güncelliğini yitirdi. Bugün doğru yöntem, Docker’ın resmi deposunu (docker-ce) ekleyip kurulumu oradan yapmaktır. Böylece her zaman en güncel sürümü (Haziran 2026 itibarıyla Docker Engine 29.x) ve Compose v2 eklentisini almış olursunuz.

Kuruluma başlamadan önce sunucuya SSH ile bağlanın ve root yetkisine sahip olduğunuzdan emin olun. Aşağıdaki adımlar bir fiziksel sunucu, sanal makine ya da VPS sunucu üzerinde aynen çalışır.

Docker indirme ve kurulum gorseli

Ubuntu / Debian Üzerine Docker Kurulumu

Ubuntu (ve Debian) için resmi apt deposunu eklemek en sağlıklı yoldur. Sırasıyla şu komutlar uygulanır:

  • 1. Eski sürümleri kaldırın: sudo apt-get remove docker docker-engine docker.io containerd runc
  • 2. Gereksinimleri kurun ve GPG anahtarını ekleyin:

    sudo apt-get update

    sudo apt-get install ca-certificates curl

    sudo install -m 0755 -d /etc/apt/keyrings

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

    sudo chmod a+r /etc/apt/keyrings/docker.asc
  • 3. Depoyu sisteme tanımlayın (Docker’ın resmi ubuntu deposu eklenir).
  • 4. Docker Engine’i kurun: sudo apt-get update ardından

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 5. Kurulumu doğrulayın: sudo docker run hello-world

“Hello from Docker!” mesajını gördüyseniz kurulum başarılıdır. Servisi sistem açılışında otomatik başlatmak için sudo systemctl enable --now docker komutu kullanılır.

AlmaLinux / CentOS / Rocky Linux Üzerine Docker Kurulumu

RHEL tabanlı dağıtımlarda (AlmaLinux, Rocky Linux, CentOS) Docker varsayılan depolarda gelmez; resmi docker-ce deposu eklenmelidir:

  • 1. Sistemi güncelleyin: sudo dnf -y update
  • 2. Depo aracını kurun: sudo dnf -y install dnf-plugins-core
  • 3. Docker deposunu ekleyin:

    sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    (AlmaLinux/Rocky 10 için /centos/ yerine /rhel/ yolu kullanılır.)
  • 4. Docker’ı kurun:

    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 5. Servisi başlatın ve etkinleştirin: sudo systemctl enable --now docker
  • 6. Doğrulayın: sudo docker run hello-world

Not: Rocky/AlmaLinux 10 minimal kurulumlarında kernel-modules-extra paketi bulunmazsa Docker, iptables için gereken xt_addrtype modülünü yükleyemez ve başlamaz. Bu durumda önce ilgili kernel modül paketini kurmak gerekir.

En Çok Kullanılan Docker Komutları

Kurulumdan sonra günlük işlerinizin büyük bölümünü şu komutlarla halledersiniz:

Komut Açıklama
docker --version Yüklü Docker sürümünü gösterir.
docker pull imaj Docker Hub’dan bir imaj indirir.
docker images Yerel imajları listeler.
docker run -d -p 80:80 imaj İmajdan arka planda (detached) konteyner başlatır, port eşler.
docker ps Çalışan konteynerleri listeler (-a ile tümünü).
docker stop / start id Konteyneri durdurur / yeniden başlatır.
docker exec -it id bash Çalışan konteyner içine terminal bağlar.
docker logs id Konteynerin çıktılarını (loglarını) gösterir.
docker rm / rmi id Konteyneri / imajı siler.
docker build -t ad . Bulunduğu dizindeki Dockerfile’dan imaj oluşturur.
docker compose up -d Compose dosyasındaki tüm servisleri ayağa kaldırır.

Önemli: Compose artık Docker’ın bir eklentisidir. Eski tireli docker-compose komutu yerine boşluklu docker compose kullanılır. Sürümü docker compose version ile doğrulayabilirsiniz.

Basit Bir Dockerfile Örneği

Bir uygulamayı imaj haline getirmek için proje köküne bir Dockerfile koyarsınız. Örneğin basit bir Nginx tabanlı statik site için:

  • FROM nginx:alpine — Hafif Nginx imajını temel alır.
  • COPY ./site /usr/share/nginx/html — Site dosyalarını kopyalar.
  • EXPOSE 80 — 80 portunu açar.

Ardından docker build -t benim-site . ile imajı oluşturur, docker run -d -p 8080:80 benim-site ile çalıştırırsınız. Tarayıcıdan localhost:8080 adresinde siteniz hazırdır.

Docker ne icin kullanilir

Docker’ın Avantajları ve Dezavantajları

Avantajlar Dezavantajlar
Hızlı kurulum, dağıtım ve saniyelik başlatma Donanım seviyesi yalıtım VM kadar güçlü değildir
Sanal makineye göre çok daha az kaynak tüketimi Çoğunlukla Linux çekirdeği merkezlidir
Taşınabilirlik ve “her yerde aynı çalışma” Çok konteynerli kurulumlarda yönetim ek araçlar ister (Compose/Swarm/Kubernetes)
Güçlü izolasyon ve mikro hizmet desteği Kalıcı veri yönetimi (volume) ayrıca planlanmalıdır

Docker Ölçeklenebilirliği ve Performansı Nasıl Artırır?

Docker’ın en önemli avantajlarından biri ölçeklenebilirliktir. Talebe göre konteyner sayısı artırılıp azaltılabilir. Swarm modu ile birden fazla makineden oluşan bir küme tek bir sistem gibi yönetilir; yük dengeleme, konteynerler arası durum yönetimi ve otomatik ölçekleme bu sayede sağlanır. Daha büyük ve karmaşık ortamlarda ise Kubernetes gibi orkestrasyon araçları devreye girer.

Performans tarafında Docker, uygulamayı yalnızca gereken öğelerle paketler; bu da daha hızlı dağıtım ve başlatma sağlar. Geliştiricinin kendi ortamında çalışan bir uygulama, konteyner sayesinde sunucuda da birebir aynı şekilde çalışır; ortam farklılıklarından kaynaklanan hatalar ortadan kalkar. Bu nedenle Docker, güvenilir testler ile CI/CD süreçleri için de idealdir.

Docker’ı Çalıştırmak İçin Sunucu Önemlidir

Docker konteynerleri ne kadar hafif olsa da, sonuçta altında sağlam bir sunucu altyapısı çalışmalıdır. Disk hızı (NVMe/all-flash), CPU gücü ve ağ geniş bandı konteynerlerin performansını doğrudan etkiler. Üretim ortamında kendi projelerinizi yayına almak istediğinizde, KVM tabanlı VPS sunucu ya da daha esnek bir bulut sunucu üzerinde Docker çalıştırmak en yaygın yöntemdir.

Alastyr olarak İzmir’deki kendi veri merkezimizde, Dell EMC Unity 650F all-flash depolama ve Intel Xeon Gold işlemcilerle çalışan, KVM sanallaştırmalı sunucular sunuyoruz. N+1 yedekli altyapı, %99.9 uptime, günlük yedekleme ve 7/24 Türkçe destek ile Docker projeleriniz için sağlam bir zemin hazırlıyoruz.

Sıkça Sorulan Sorular

Docker tam olarak ne işe yarar?

Docker, bir uygulamayı tüm bağımlılıklarıyla (kütüphaneler, ayarlar, çalışma zamanı) birlikte tek bir konteyner içine paketler ve bu konteyneri her ortamda aynı şekilde çalıştırır. Böylece “benim makinemde çalışıyordu” sorununu ortadan kaldırır, dağıtımı hızlandırır ve sunucu kaynaklarını verimli kullanır.

Docker ile sanal makine arasındaki fark nedir?

Sanal makine her biri kendi tam işletim sistemini barındıran ağır bir yapıdır ve gigabaytlarca yer kaplar. Docker konteyneri ise ana sistemin çekirdeğini paylaşır, sadece uygulamayı taşır; megabaytlar düzeyinde yer kaplar ve saniyeler içinde başlar. VM daha güçlü donanım yalıtımı sunarken, Docker daha hızlı ve taşınabilirdir.

Docker hangi işletim sistemlerinde çalışır?

Docker Engine, Linux üzerinde doğal olarak çalışır (Ubuntu, Debian, AlmaLinux, CentOS, Rocky Linux vb.). Windows ve macOS üzerinde ise Docker Desktop aracılığıyla, bir Linux sanal katmanı üzerinden çalıştırılır. Sunucu ortamında Docker neredeyse her zaman bir Linux dağıtımı üzerinde kullanılır.

Docker kurulumu için hangi komutlar kullanılır?

Güncel yöntem, Docker’ın resmi deposunu ekleyip kurmaktır. Ubuntu/Debian’da apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin, AlmaLinux/CentOS/Rocky’de ise dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin komutu kullanılır. Kurulum sonrası docker run hello-world ile doğrulanır.

Eski docker-io ya da yum install docker komutu hala geçerli mi?

Hayır. CentOS depolarındaki docker-io paketi ve eski service docker start kullanımı güncelliğini yitirmiştir. Bugün resmi docker-ce deposu kullanılır ve servis systemctl start docker ile yönetilir. Bu yöntem her zaman en güncel sürümü sağlar.

docker-compose ile docker compose arasındaki fark nedir?

Eski Compose v1 ayrı bir ikili dosyaydı ve tireli docker-compose şeklinde çalışırdı. Yeni Compose v2 ise Docker CLI’nin bir eklentisidir ve boşluklu docker compose komutuyla çağrılır. v2 daha hızlı, daha entegre ve güncel standarttır.

Docker’ın güncel sürümü hangisidir?

Haziran 2026 itibarıyla güncel kararlı sürüm Docker Engine 29.x serisidir ve Compose v2 ile birlikte gelir. Resmi depo üzerinden kurulum yaptığınızda otomatik olarak en son kararlı sürümü almış olursunuz. Sürümü docker --version komutuyla kontrol edebilirsiniz.

Docker’ı çalıştırmak için nasıl bir sunucuya ihtiyacım var?

Küçük projeler için orta seviye bir VPS yeterli olurken, üretim ve çok konteynerli ortamlar için hızlı disk (NVMe/all-flash), yeterli RAM ve güçlü CPU önemlidir. KVM tabanlı bir VPS ya da bulut sunucu, Docker için en yaygın ve uygun seçimdir. Alastyr’ın İzmir veri merkezindeki all-flash ve Xeon Gold tabanlı sunucuları bu iş yükü için uygundur.

Docker üretim ortamında güvenli midir?

Docker, konteynerleri birbirinden yalıtarak iyi bir güvenlik temeli sunar. Yine de güvenli kullanım için imajları güvenilir kaynaklardan almak, düzenli güncellemek, root yetkisini sınırlamak ve gizli bilgileri (secret) doğru yönetmek gerekir. Sunucu seviyesinde güçlü bir güvenlik duvarı ve güncel çekirdek de kritik önem taşır.

Docker projeleriniz için sağlam bir sunucu

İzmir veri merkezimizde, all-flash depolama ve Xeon Gold işlemcilerle çalışan KVM tabanlı VPS ve bulut sunucuları keşfedin. %99.9 uptime, günlük yedekleme ve 7/24 Türkçe destek.

VPS Sunucularını İncele

Alastyr Telekomünikasyon A.Ş. — 2002'den beri İzmir'de, sahip olduğu veri merkezinde hosting, alan adı ve sunucu hizmeti veriyor. RIPE NCC üyesi (AS3188) ve BTK yetkili .tr kayıt kuruluşudur. Yazılar, teknik ve destek ekibimizin müşterilerden en sık aldığı sorulara göre hazırlanır.
İnternet sitesi Alastyr İnternet Sitesi
Yazı oluşturuldu 707

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön