PersonalBlog

Blagovest Rosenov "Barış"

Podman: Docker’a Devrimsel Bir Alternatif – Hızlı, Güvenli ve Daemon’suz Konteyner Yönetimi

Podman: Konteyner Yönetiminde Yeni Yaklaşım

Podman, Red Hat tarafından geliştirilen, konteyner çalıştırmak ve yönetmek için kullanılan açık kaynak bir araçtır. Docker’a çok benzer bir işlevsellik sunar, ancak birkaç temel farka sahiptir. Bu yazıda, Podman’ın ne olduğunu, temel özelliklerini ve kullanım örneklerini ele alacağız.

Podman Nedir?

Podman, Docker ve Kubernetes gibi platformlara alternatif olarak geliştirilmiş, hafif bir konteyner yönetim aracıdır. Kendi kendine yetebilen bu araç, root olmayan kullanıcıları da destekler ve demon gerektirmez. Docker’dan farklı olarak, Podman tekil ve kompozit (pod) konteynerleri destekler. Pod dediğimiz yapı, bir veya daha fazla konteyneri bir araya getirir ve bu konteynerlerin aynı ağı ve depolama alanını paylaşmasını sağlar.

Podman’ın Temel Özellikleri

  1. Root Olmayan Kullanıcı Desteği: Podman, konteynerlerin root kullanıcı olmadan çalıştırılmasına izin verir. Bu, güvenlik risklerini azaltır çünkü root kullanıcının yetkileri kötüye kullanılamaz.
  2. Daemon Olmadan Çalışma: Podman, herhangi bir daemon gerektirmeden çalışabilir. Bu, sistem kaynaklarının daha verimli kullanılmasını sağlar.
  3. Docker API Uyumluluğu: Podman, Docker API ile uyumlu olduğundan, Docker CLI yerine Podman’ı kullanabilirsiniz. Yani Docker kullanılarak yazılmış bir uygulama veya script, herhangi bir değişiklik yapmaksızın Podman ile de çalışır.

Podman Kullanımı: Basit Bir Örnek

Podman’ın basit kullanımını göstermek için, bir Nginx sunucusunu çalıştıran bir konteyner oluşturup çalıştıracağız.

  1. İlk olarak, Podman’ı sistemimize yüklememiz gerekiyor. Fedora veya CentOS kullanıyorsanız, bunu yum veya dnf ile yapabilirsiniz:
sudo dnf install podman

Ubuntu kullanıyorsanız, aşağıdaki komutları kullanabilirsiniz:

. /etc/os-release
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install podman
  1. Podman’ın düzgün bir şekilde yüklendiğini kontrol edelim:
podman version
  1. Şimdi bir Nginx konteyneri oluşturalım ve çalıştıralım:
podman run -dt -p 8080:80/tcp docker.io/library/nginx
  1. Konteynerin düzgün bir şekilde çalışıp çalışmadığını kontrol edelim:
podman ps

Artık Nginx’inizi tarayıcınızdan localhost:8080 adresine giderek kontrol edebilirsiniz.

Sonuç olarak, Podman, Docker ile benzer şekilde çalışan, ancak onun bazı kısıtlamalarını aşan etkileyici bir araçtır. Özellikle bulut tabanlı uygulamalar ve mikro-servis mimarisi için ideal bir seçimdir.