Podman Kurulum Rehberi
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
- 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
- Podman'ı Yükleyin:
sudo apt-get -y install podman
CentOS/RHEL
- 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
- 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.
- Homebrew Kurulu Olduğundan Emin Olun:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Podman'ı Yükleyin:
brew install podman
- Podman'ı Başlatın:
podman machine init
podman machine start
Windows
Windows üzerinde Podman kullanmak için Windows Subsystem for Linux (WSL)
gereklidir.
- 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.
- Linux Dağıtımı Kurun:
- Microsoft Store'dan Ubuntu gibi bir dağıtım indirin ve kurun.
- Podman'ı Linux Dağıtımında Kurun:
- Ubuntu için yukarıdaki Ubuntu Kurulum adımlarını takip edin.
- 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.
- Ubuntu Görüntüsünü İndirin:
podman pull ubuntu
- 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
- Konteynerden Çıkın:
exit
- 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.
Member discussion