6 puan yazan GN⁺ 2024-01-14 | 1 yorum | WhatsApp'ta paylaş

Podman ve Docker karşılaştırması

  • Podman ve Docker, konteynerleri verimli ve ölçeklenebilir bir şekilde çalıştırmak, yönetmek ve dağıtmak için kullanılabilir.
  • Podman, daemon’suz bir mimari kullanır; bu sayede kullanıcılar konteynerleri doğrudan yönetir.
  • Podman, konteyner yaşam döngüsünü yönetmek için Systemd ile entegre çalışır.
  • Docker Compose’a benzer işlevler sunan Podman Compose ile birden fazla konteyner koordine edilebilir.
  • Güvenlik açısından Podman, Docker’a kıyasla varsayılan olarak daha güçlü ayarlar sunar.

Podman kurulumu

  • Podman, macOS, Windows ve başlıca Linux dağıtımlarında çalışabilir.
  • Linux’ta yerel olarak, Windows ve macOS’ta ise sanal makine üzerinden çalışır.
  • Kurulum süreci sudo apt update ve sudo apt install podman komutlarıyla ilerler.

İlk konteyneri çalıştırma

  • Podman kurulumunun düzgün çalıştığını doğrulamak için "Hello World!" imajı kullanılır.
  • Podman, OCI (Open Container Initiative) standardını izlediği için Docker imajlarıyla uyumludur.

Kısa imaj adları kullanma

  • Podman, imajlara başvururken tam adların kullanılmasını önerir.
  • Kısa ad kullanıldığında Podman, yapılandırma dosyasına bakarak tam nitelikli imaj adını belirler.

Özel imaj registry’si kullanma

  • Podman da Docker gibi özel registry’lerle birlikte kullanılabilir.
  • Docker Hub hesabı kullanılarak özel registry yapılandırmasına ilişkin örnek izlenebilir.

Birden fazla konteyneri koordine etme

  • Podman Compose kullanılarak birden fazla konteyner koordine edilebilir.
  • Podman Compose, Docker Compose’a benzer işlevler sunar ve mevcut docker-compose.yml dosyalarıyla uyumludur.

GN⁺ görüşü:

  • Podman, Docker’a kıyasla daha hızlı olan ve güvenlik açısından varsayılan olarak daha güçlü ayarlar sunan bir konteyner motorudur. Bu da onu geliştiriciler ve sistem yöneticileri için cazip bir alternatif haline getirebilir.
  • Podman’in daemon’suz mimarisi, güvenlik denetim izlerini kolaylaştırır ve güvenlik olayı yaşandığında kullanıcının tespit edilmesini mümkün kılar.
  • Podman ile Docker arasındaki uyumluluk, mevcut Docker kullanıcılarının Podman’e geçişini kolaylaştırır. Bu, mevcut altyapı ve iş akışlarını korurken güvenlik ve performansı iyileştirmek isteyen kuruluşlar için faydalıdır.

1 yorum

 
GN⁺ 2024-01-14
Hacker News görüşleri
  • Podman ve systemd

    • Podman, systemd unit dosyalarını desteklediğinde iyiydi. Konteynerleri ve pod'ları otomatik olarak başlatıp güncelleyebiliyordu.
    • Ancak Quadlet'i tercih ederek bu özelliği kaldırdı. Artık tek bir konteyner unit dosyasıyla mümkün, ama pod'lar için Kubernetes küme tanımı gerekiyor.
    • Docker'dan farklı olarak Podman konteynerleri SELinux tanımlarına göre çalışıyor; bu da eşlenen dizinlere erişememe sorununun tekrar tekrar yaşanmasına neden oluyor.
    • Podman mı kullanmak gerektiği, Kubernetes mi kullanmak gerektiği ya da mantıklı bir konum yerine özel dizinler mi oluşturmak gerektiği konusunda kafa karışıklığı var.
  • Podman'in ağ uyumluluğu

    • Podman'in başlıca avantajlarından biri, Docker'ın aksine ağ ayarlarını bozmaması.
    • Docker kullanırken KVM sanal makineleriyle birlikte bridge çalıştırmak kabustu, ama Podman varsayılan olarak iyi çalışıyor.
    • Docker yüzünden VPN'in bozulması veya kesilmesi gibi sorunlar da yaşanıyordu, ancak Podman'in ağ yaklaşımı şimdiye kadar diğer işlere engel olmadı.
  • Podman'in giderek artan popülaritesi

    • Birçok araç sudo docker grubunun eklendiğini varsayarak yapılmıştı, ancak güvenlik odaklı Docker kurulumlarında bu sorun çıkarıyor.
    • Podman root yetkisi olmadan da kullanılabildiği için güvenlik açısından olumlu.
  • Bir RHEL mühendisin Podman kullanım deneyimi

    • Sertifikalı bir RHEL mühendisi olarak kişisel konteyner kullanımı için Podman'i severek kullanıyor.
    • Ancak geliştiriciler için hâlâ Docker kullanıyor ve Docker Compose'un sadeliğinin yerini tutacak bir şey sunamıyor.
    • CI pipeline'larında Buildah kullanıyor, ama geliştirici kullanıcılar için Docker Compose hâlâ baskın.
  • Docker ve UFW güvenlik açığı

    • Docker ve UFW güvenlik açığından neredeyse zarar görecekti.
  • Rootless konteynerler ve bağımsız namespace'lerin önemi

    • Rootless konteynerler ve bağımsız namespace'ler önemli güvenlik özellikleri.
    • Docker'da da rootless kullanılabiliyor ve kurulumu karmaşık değil.
    • Docker'da kalmanın avantajı erişilebilirliğinin daha iyi olması: daha geniş topluluk, daha fazla blog, Docker Compose yapılandırmalarının yaygın bulunabilirliği ve kullanmayı bilen iş arkadaşları var.
    • Sonuçta hem Podman hem de Docker, host üzerinde süreçleri bağımsız namespace'lerde çalıştırıyor.
  • Red Hat'in Docker alternatifi: Podman

    • Red Hat'in neden Docker alternatifi yaptığı net değil, ama Podman beğeniliyor.
    • Podman, Docker'ın yaptığı neredeyse her şeyi yapabiliyor; hatta daha fazla özelliğe sahip olduğu alanlar var (ör. pod'lar) ya da Podman'in yaklaşımının daha iyi olduğu yerler var (ör. daemon'sız konteyner oluşturma süreci).
    • Geliştiriciler için asıl sorun Docker Compose olabilir, ancak basit Compose dosyaları kullanılıyorsa Docker Compose spesifikasyonuyla uyumlu olmaya çalışan podman-compose betiği var.
    • Podman'i Docker Compose için backend olarak kullanmak da mümkün. 2024 itibarıyla, en azından Linux makinelerde Docker kullanmak için bir neden görünmüyor. Podman'in macOS veya Windows'ta nasıl çalıştığı ise net değil.
  • Podman'in güvenlik odaklı yaklaşımı

    • Podman'in güvenlik odaklı yaklaşımı ve bazı kararları beğeniliyor. Varsayılan olarak güvenli ayarlar sunuyor ve Docker Compose ile uyumlu.
    • Podman yeterince popüler olursa komutlar ve yml konusunda kendi yönüne de gidebilir. Şu an Docker ve Docker Compose dosya biçimlerine “bağımlı” bir araç gibi görünüyor.
    • Podman'de, k8s olmayan bir orkestrasyon eksikliğini telafi edebilecek bir swarm alternatifine ihtiyaç var. Bu, küçük ölçekli konteynerleri iyi bir güvenlik bakış açısıyla çalıştırmanın basit ve makul bir yolunu sunabilir.
  • Podman kullanırken yaşanan sorunlar

    • Podman harika, ancak Docker alternatifi olarak kullanmaya başlandığında UID ve GID eşlemeleri, SELINUX ilkeleri ve eksik DNS ayarları gibi sorunlar yaşandı.
    • Sorunları çözmek için sistem migration çalıştırırken ayarları birkaç kez bozdu. Güvenlik ACL'leri, ID eşlemeleri ve etiketlerle ilgili karmaşık problemler var.
    • Sonuçtan memnun, ancak Docker gibi “çalıştır ve geç” türü bir çözüm değildi. Kullanmaya başladığından beri iyileşmiş olabilir.
  • Podman ve Apple Silicon

    • Podman, Docker'ın aksine Apple Silicon üzerinde x86 imajlarını Rosetta üzerinden çalıştırma özelliğine sahip değil.
    • QEMU gerçek kullanım için fazla yavaş.