Makale Başlıkları
- Docker Nedir? Konteyner Mantığı
- Docker ve Sanal Makine (VM) Farkı
- Docker’ın Temel Özellikleri
- Docker’ın Temel Bileşenleri
- Docker Nasıl Kurulur? (Güncel Yöntem)
- En Çok Kullanılan Docker Komutları
- Basit Bir Dockerfile Örneği
- Docker’ın Avantajları ve Dezavantajları
- Docker Ölçeklenebilirliği ve Performansı Nasıl Artırır?
- Docker’ı Çalıştırmak İçin Sunucu Önemlidir
- Sıkça Sorulan Sorular
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çindnfüzerinden resmi docker-ce deposu kullanılır; depodakidocker-iogibi 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-composedeğil, boşluk iledocker 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? 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.
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’ı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.

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 updateardı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’ı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.





