Ubuntu Üzerinde Podman Kurulumu ve Rootless Konteyner Yönetimi

Ubuntu sistemlerde Docker'a alternatif, root yetkisi gerektirmeyen Podman kurulumu ve yapılandırması hakkında kapsamlı rehber.

L
Linuxize
3 görüntülenme
Ubuntu Üzerinde Podman Kurulumu ve Rootless Konteyner Yönetimi

Giriş

Podman, arka planda sürekli çalışan bir daemon (servis) gerektirmeyen, OCI uyumlu bir konteyner motorudur. Docker'dan farklı olarak, konteynerleri normal bir kullanıcı süreci olarak çalıştırır; bu da paylaşımlı sunucularda güvenlik risklerini minimize eder. Komut satırı arayüzü Docker ile neredeyse aynıdır, bu sayede mevcut Dockerfile dosyalarınız ve komutlarınız sorunsuz çalışır.

Kurulum Adımları

Podman, Ubuntu'nun resmi depolarında yer almaktadır. Üçüncü taraf PPA eklemeye gerek kalmadan kurulumu gerçekleştirebilirsiniz.

  1. Paket listesini güncelleyin:
    sudo apt update
  2. Podman'i yükleyin:
    sudo apt install podman
  3. Kurulumu doğrulayın:
    podman --version

Rootless (Kök Yetkisiz) Yapılandırma

Podman'in en büyük avantajı root yetkisi gerektirmemesidir. Kurulum sonrası bu durumu şu komutla kontrol edebilirsiniz:

podman info | grep rootless
Eğer 'rootless: true' çıktısını görüyorsanız, sisteminiz konteynerleri kullanıcı yetkileriyle çalıştırmaya hazırdır.

Kullanıcınızın konteyner oluşturabilmesi için /etc/subuid ve /etc/subgid dosyalarında tanımlı olması gerekir. Eğer eksikse şu adımları izleyin:

  1. Kullanıcıya alt UID/GID aralıklarını atayın:
    sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER
  2. Değişiklikleri uygulayın:
    podman system migrate

Konteyner Yönetimi

Podman ile konteyner çalıştırmak oldukça basittir. Örneğin bir Nginx sunucusu başlatmak için:

podman run -d --name web -p 8080:80 nginx

Çalışan konteynerleri listelemek için podman ps, durdurmak için podman stop web komutlarını kullanabilirsiniz.

Docker ile Uyumluluk

Mevcut Docker alışkanlıklarınızı devam ettirmek isterseniz podman-docker paketini yükleyerek docker komutunu Podman'e yönlendirebilirsiniz:

sudo apt install podman-docker

Bu işlem, /usr/bin/docker sembolik bağını oluşturarak tüm Docker komutlarınızı Podman üzerinden çalıştırmanızı sağlar. Özellikle CI/CD süreçlerinde bu yapılandırma oldukça kullanışlıdır.

Sorun Giderme

  • Kısa isim çözümlenemedi hatası: /etc/containers/registries.conf dosyasını düzenleyerek unqualified-search-registries = ["docker.io"] satırını ekleyin.
  • Düşük portlara bağlanma hatası: Rootless modda 1024 altındaki portlara bağlanmak için sudo sysctl net.ipv4.ip_unprivileged_port_start=80 komutuyla çekirdek parametresini güncelleyin.

Kaynak

Linuxize