3 min read

Podman Kurulum Rehberi

podman-kurulum-cpynet

Podman, konteyner oluşturma, yönetme ve çalıştırma işlemlerini gerçekleştiren açık kaynaklı bir araçtır. Docker ile benzer bir kullanıcı deneyimi sunar, ancak arka planda sürekli çalışan bir daemon gerektirmez. Bu, Podman'ı daha hafif ve güvenli bir seçenek haline getirir.

Podman'ın Avantajları

  • Daemon Gerektirmez: Podman, arka planda sürekli çalışan bir hizmete ihtiyaç duymaz. Bu, sistem kaynaklarını daha verimli kullanmasını sağlar.
  • Kök Olmadan Çalışabilir: Podman, root yetkilerine ihtiyaç duymadan çalışabilir, bu da güvenlik açısından önemli bir avantajdır.
  • Docker ile Uyumluluk: Podman, Docker CLI ile büyük ölçüde uyumludur, bu da Docker kullanıcılarının Podman'a geçişini kolaylaştırır.
  • Kapsayıcı Orkestrasyonu: Podman, Kubernetes ile uyumlu YAML dosyalarını destekler, böylece konteyner orkestrasyonu için idealdir.

Podman Kurulumu

Podman'ı kurmak, kullanılan işletim sistemine bağlı olarak değişiklik gösterebilir. Aşağıda, en yaygın işletim sistemlerinde Podman'ın nasıl kurulacağını bulabilirsiniz.

Ubuntu

  1. Depoyu Ekleyin:
. /etc/os-release
sudo sh -c "echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${VERSION_ID}/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
  1. Podman'ı Yükleyin:
sudo apt-get -y install podman

CentOS/RHEL

  1. Depoyu Ekleyin:
sudo yum -y install epel-release
sudo yum -y install https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_8/devel:kubic:libcontainers:stable.repo
  1. Podman'ı Yükleyin:
sudo yum -y install podman

Fedora

Fedora genellikle Podman'ı varsayılan paket depolarında barındırır. En güncel sürümü yüklemek için:

sudo dnf -y install podman

MacOS

MacOS üzerinde Podman kullanmak için brew paket yöneticisini kullanabilirsiniz.

  1. Homebrew Kurulu Olduğundan Emin Olun:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Podman'ı Yükleyin:
brew install podman
  1. Podman'ı Başlatın:
podman machine init
podman machine start

Windows

Windows üzerinde Podman kullanmak için Windows Subsystem for Linux (WSL) gereklidir.

  1. WSL Kurulumunu Yapın:
  • PowerShell'i yönetici olarak açın ve aşağıdaki komutu çalıştırın:
wsl --install
  • Bilgisayarı yeniden başlatın.
  1. Linux Dağıtımı Kurun:
  • Microsoft Store'dan Ubuntu gibi bir dağıtım indirin ve kurun.
  1. Podman'ı Linux Dağıtımında Kurun:
  1. Podman ile Çalışmaya Başlayın:
podman --version

Podman Temel Komutları

Podman, Docker ile benzer komut yapısına sahiptir. İşte bazı temel Podman komutları:

  • Konteyner Çalıştırma:
podman run -it --name mycontainer ubuntu bash
  • Çalışan Konteynerleri Listeleme:
podman ps
  • Tüm Konteynerleri Listeleme:
podman ps -a
  • Konteyner Durdurma:
podman stop mycontainer
  • Konteyner Silme:
podman rm mycontainer
  • Görüntü Listeleme:
podman images
  • Görüntü İndirme:
podman pull ubuntu
  • Görüntü Silme:
podman rmi ubuntu

Podman ile İlk Konteynerinizi Çalıştırma

Podman ile ilk konteynerinizi çalıştırmak oldukça basittir. Aşağıda Ubuntu görüntüsünü kullanarak nasıl bir konteyner çalıştıracağınızı adım adım gösteriyoruz.

  1. Ubuntu Görüntüsünü İndirin:
podman pull ubuntu
  1. Konteyneri Çalıştırın:
podman run -it --name ilk_konteyner ubuntu bash

Bu komut, ubuntu görüntüsünü kullanarak interaktif (-it) bir terminal açar ve konteynerin içine bash kabuğu ile girersiniz.
3. Konteynerde İşlem Yapın: Konteyner içinde çeşitli komutlar çalıştırabilirsiniz. Örneğin:

apt update
apt install -y nginx
  1. Konteynerden Çıkın:
exit
  1. Konteyneri Listeleyin:
podman ps -a

Podman ile Görüntü Yönetimi

Podman, konteyner görüntülerini yönetmek için güçlü araçlar sunar. İşte bazı yaygın işlemler:

  • Mevcut Görüntüleri Listeleme:
podman images
  • Yeni Bir Görüntü İndirme:
podman pull alpine
  • Görüntüyü Etiketleme:
podman tag alpine myrepo/alpine:latest
  • Görüntüyü Push Etme:
podman push myrepo/alpine:latest
  • Görüntüyü Silme:
podman rmi alpine

Podman ile Ağ ve Depolama

Podman, konteynerler arası ağ iletişimini ve kalıcı depolama alanlarını yönetmek için çeşitli seçenekler sunar.

Ağ Yönetimi

  • Varsayılan Ağı Kullanma: Podman, konteynerler arasında iletişim kurmak için varsayılan bir ağ oluşturur.
  • Özel Ağ Oluşturma:
podman network create benim_agim
  • Konteyneri Özel Ağa Bağlama:
podman run -d --name web --network benim_agim nginx

Depolama Yönetimi

  • Kalıcı Depolama İçin Volüm Oluşturma:
podman volume create veri_volumu
  • Konteyneri Volüm ile Çalıştırma:
podman run -d --name veritabani -v veri_volumu:/var/lib/mysql mysql

Podman ile Güvenlik

Podman, güvenli konteyner çalıştırma için çeşitli özellikler sunar:

  • Root Olmadan Çalışma: Podman, konteynerleri root yetkileri olmadan çalıştırabilir, bu da saldırı yüzeyini azaltır.
  • SELinux Desteği: Podman, SELinux ile uyumludur ve konteynerlerin güvenliğini artırır.
  • Güvenli Konteyner Görüntüleri: Podman, güvenli ve imzalı konteyner görüntülerini destekler.

Sonuç

Podman, Docker'a güçlü bir alternatiftir ve konteyner yönetimi konusunda esnek ve güvenli çözümler sunar. Daemon gerektirmemesi, root olmadan çalışabilmesi ve Docker ile uyumlu olması, Podman'ı hem geliştiriciler hem de sistem yöneticileri için cazip bir seçenek haline getirir. Bu rehberde Podman'ın temel kurulumu ve kullanımı hakkında bilgi edindiniz. Daha ileri seviye kullanımlar için Podman dokümantasyonunu incelemenizi öneririz.