Ulaşım
- Adres:2342 Sk, İpekyol, İpek Ap 49A, 63250 Haliliye/Şanlıurfa
- Telefon:
0542 315 45 37 - eMail: info@alestaweb.com
Container teknolojisinde Docker uzun yıllar tek başına hüküm sürdü. Ama 2026 itibariyle Podman ciddi bir alternatif olarak öne çıktı (Podman emerged as a serious alternative). Alesta Web ekibi olarak bu rehberde Podman ile Docker arasındaki farkları, hangisinin sizin için daha uygun olduğunu ve geçiş yaparken nelere dikkat etmeniz gerektiğini sade bir dille anlatıyoruz.
Podman (POD MANager kısaltması), Red Hat tarafından geliştirilen, container ve pod yönetimi için kullanılan açık kaynak bir araçtır (open-source container management tool). Docker'a alternatif olarak tasarlandı, ama mantığı farklı bir noktadan kuruldu. Şöyle düşünün: Docker'da her şey arka planda sürekli çalışan bir daemon (Docker Engine) üzerinden yönetilir. Podman'da ise daemon yok — komutlarınız doğrudan çalışır.
Daemonless mimari (daemonless architecture), tek bir hata noktasını ortadan kaldırır. Docker daemon çökerse tüm container'larınız risk altındadır; Podman'da böyle bir bağımlılık yoktur (no single point of failure).
Alesta Web olarak son bir yılda hem geliştirme hem de production ortamında Podman'ı test ettik. Sonuç şu: küçük takımlar ve özellikle güvenlik kritik ortamlar için ciddi avantaj sağlıyor. Detaylara birlikte bakalım.
İki aracın yüzeyde kullanımı çok benziyor — hatta alias docker=podman diyerek aynı komutları çalıştırabilirsiniz. Ama altta yatan mimari oldukça farklı.
| Özellik | Docker | Podman |
|---|---|---|
| Mimari (Architecture) | Daemon tabanlı (Docker Engine) | Daemonless (doğrudan çalıştırma) |
| Root Yetkisi | Genelde root gerektirir | Rootless varsayılan |
| Pod Desteği | Yok (ek araçlarla) | Yerleşik (Kubernetes uyumlu) |
| systemd Entegrasyonu | Sınırlı | Yerleşik (quadlet) |
| Lisans | Apache 2.0 / Docker Desktop ücretli | Apache 2.0 (tamamen ücretsiz) |
| Compose Desteği | Docker Compose | podman-compose veya Quadlet |
Tabloya bakınca da görüleceği gibi temel ayrım şu: Docker bir servis odaklı mimariye sahip, Podman ise daha komut odaklı. Yani Docker bir orkestra şefi gibi sürekli arka planda çalışır; Podman her komutu tek başına çalıştırıp işini bitirir. Alesta Web uzmanlarının görüşüne göre bu fark, geliştirici deneyimini doğrudan etkiliyor.
Podman kurulumu işletim sistemine göre değişir. Alesta Web ekibi olarak en yaygın kullanılan üç platform için kurulum adımlarını derledik.
# Paket listesini güncelle
sudo apt update
# Podman'i kur (versiyon 4.9+ önerilir)
sudo apt install -y podman
# Kurulumu doğrula
podman --version
# İlk container'ı çalıştır (test)
podman run --rm hello-world
# Fedora'da Podman zaten ön yüklü gelir
# Yine de en güncel sürüme yükseltmek için:
sudo dnf install -y podman
# Versiyon kontrolü
podman --version
# Homebrew ile
brew install podman
# Sanal makine başlat (Podman macOS'ta hafif bir VM kullanır)
podman machine init
podman machine start
# Test
podman run --rm hello-world
hello-world container'ı başarıyla çalıştıysa, kurulum tamamlanmış demektir. Herhangi bir hata alırsanız bu rehberin sonundaki Hata Çözümleri bölümüne bakabilirsiniz.
Podman'ın en güzel taraflarından biri, Docker komutlarıyla neredeyse %100 uyumlu olması. Yani docker run yerine podman run yazmanız yeterli — geri kalan parametreler aynı.
# Container çalıştırma
podman run -d -p 8080:80 nginx
# Çalışan container'ları listele
podman ps
# Image indirme
podman pull alpine:latest
# Container loglarını görüntüle
podman logs <container-id>
# Container'i durdur
podman stop <container-id>
# Tüm container'ları temizle
podman container prune
Docker komutlarına alışkın bir geliştiriciyseniz, alias docker=podman tanımlayarak anında geçiş yapabilirsiniz. Alesta Web olarak müşterilerimize bu yaklaşımı öneriyoruz çünkü öğrenme eğrisini sıfırlıyor (zero learning curve).
Belki de Podman'ın en güçlü özelliği bu: rootless mode, yani sıradan bir kullanıcı olarak — root yetkisi olmadan — container çalıştırabilmek. Bu, güvenlik açısından devasa bir kazanım sağlıyor (huge security win).
Docker'da çoğu komut için sudo gerekir veya kullanıcının docker grubuna eklenmesi gerekir. Bu, kullanıcıya etkili olarak root yetkisi vermek anlamına gelir (effectively root access) — çünkü docker socket üzerinden istediği container'ı root yetkisiyle başlatabilir. Podman bu güvenlik açığını kapatır.
# Sıradan bir kullanıcı olarak çalıştır (sudo yok!)
podman run --rm -it ubuntu bash
# Container içinde root görünür ama hostta sıradan kullanıcısınız
whoami # root (container içinde)
exit
id # hostta kendi kullanıcı ID'niz
Bu mimari, özellikle çok kullanıcılı sunucularda, CI/CD pipeline'larında ve üretim ortamında büyük avantaj sağlar. Geçen ay bir müşterimizin paylaşımlı bir geliştirme sunucusunda Podman'a geçtikten sonra root yetkili güvenlik denetim raporundaki bulguların büyük kısmı kapandı.
Podman'ın isminin neden POD ile başladığını merak ediyorsanız, cevabı burada: Podman, Kubernetes'in pod konseptini doğrudan benimsiyor. Bir pod, ortak ağ ve depolama paylaşan bir veya birden fazla container'dan oluşur.
# Yeni bir pod oluştur
podman pod create --name web-pod -p 8080:80
# Pod içine container ekle
podman run -d --pod web-pod nginx
podman run -d --pod web-pod redis
# Pod içindeki tüm container'ları listele
podman pod ps
# Pod'un Kubernetes YAML'ini al (BU MUHTEŞEM!)
podman generate kube web-pod > web-pod.yaml
podman generate kube komutu, lokal pod'unuzu Kubernetes YAML manifest'ine dönüştürür. Yani yerelde Podman ile geliştirip, ürettiğiniz YAML'i doğrudan Kubernetes cluster'ınıza deploy edebilirsiniz (deploy directly to Kubernetes). alestaweb.com ekibi olarak DevOps takımları için bu özelliği özellikle öneriyoruz.
Performans karşılaştırması yaparken iki şeye bakmak gerek: başlatma süresi (startup time) ve çalışırken kaynak tüketimi (runtime resource usage). Alesta Web laboratuvarımızda yaptığımız testlerde şu sonuçları elde ettik:
| Kriter | Docker | Podman |
|---|---|---|
| Soğuk başlatma (cold start) | Daemon zaten çalışır, hızlı | İlk komut hafif yavaş |
| Boşta RAM tüketimi | Yüksek (daemon sürekli çalışır) | Sıfıra yakın |
| Çalışırken CPU | Benzer | Benzer |
| systemd entegrasyonu | Manuel yapılandırma gerekir | Quadlet ile yerleşik |
Sonuç olarak: günlük geliştirme makinenizde Podman boşta neredeyse hiç kaynak tüketmez. Docker daemon'ı ise sürekli birkaç yüz MB RAM kullanır. Üretim ortamında ise iki sistem benzer performansta çalışır — fark ihmal edilebilir düzeydedir.
Bu sorunun tek cevabı yok. Aşağıdaki kriterlere göre karar verin:
Sıfırdan başlıyorsanız Podman ile başlayın — özellikle güvenlik ve lisans avantajları nedeniyle. Mevcut bir Docker kurulumunuz varsa hemen geçmeniz şart değil; aynı sunucuda iki aracı yan yana kullanabilirsiniz (they can coexist). alestaweb.com sunucu yönetim hizmetlerimizde her iki aracı da destekliyoruz.
Rootless mode için kullanıcınızın subuid/subgid eşleme dosyalarına eklenmiş olması gerekir.
# Düzeltme komutu
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER
# Sonra Podman'ı yeniden başlat
podman system migrate
Podman, kısa image isimlerini hangi registry'den çekeceğinden emin olamadığında bu hatayı verir.
# Çözüm: tam path kullan
podman run docker.io/library/nginx
# veya
podman run quay.io/podman/hello
Docker'dan Podman'a geçişte sık görülür. Çoğu Docker SDK'sı Docker socket arıyor.
# Podman socket'i etkinleştir
systemctl --user enable --now podman.socket
# Docker SDK'sını Podman'a yönlendir
export DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock
Bu rehberde kullanılan bilgiler aşağıdaki güvenilir kaynaklardan derlendi (information sourced from reliable references):
Alesta Web olarak tüm komutları test ettik ve Ubuntu 24.04 + Fedora 40 ortamlarında doğruladık (verified on Ubuntu 24.04 and Fedora 40).
Container teknolojisi tek bir araçla sınırlı değil artık. Podman, daemonless mimarisi, rootless varsayılan davranışı ve Kubernetes ile yakın akrabalığı sayesinde 2026 itibariyle ciddi bir alternatif (serious alternative). Docker ise olgun ekosistemi ve geniş kullanıcı tabanıyla hâlâ güçlü bir seçim.
Hızlı Özet / Quick Summary:
Faydalı Linkler / Useful Links:
© 2026 Alesta Web — Tüm hakları saklıdır. Container teknolojisi, sunucu kurulumu ve DevOps konularında profesyonel destek için alestaweb.com üzerinden iletişime geçebilirsiniz.