6 poin oleh GN⁺ 2024-01-14 | 1 komentar | Bagikan ke WhatsApp

Perbandingan Podman vs Docker

  • Podman dan Docker sama-sama memungkinkan menjalankan, mengelola, dan menerapkan container dengan cara yang efisien dan skalabel.
  • Podman menggunakan arsitektur tanpa daemon sehingga pengguna mengelola container secara langsung.
  • Podman terintegrasi dengan Systemd untuk mengelola siklus hidup container.
  • Dengan menggunakan Podman Compose, yang menyediakan fungsi serupa Docker Compose, beberapa container dapat diorkestrasi.
  • Dari sisi keamanan, Podman menyediakan konfigurasi bawaan yang lebih diperkuat dibanding Docker.

Menginstal Podman

  • Podman dapat dijalankan di macOS, Windows, dan distro Linux utama.
  • Di Linux, Podman berjalan secara native, sedangkan di Windows dan macOS beroperasi melalui mesin virtual.
  • Proses instalasi dilakukan melalui perintah sudo apt update dan sudo apt install podman.

Menjalankan container pertama

  • Gunakan image "Hello World!" untuk memastikan instalasi Podman berfungsi dengan baik.
  • Karena Podman mengikuti standar OCI(Open Container Initiative), Podman kompatibel dengan image Docker.

Menggunakan nama image pendek

  • Podman merekomendasikan penggunaan nama lengkap saat mereferensikan image.
  • Jika menggunakan nama pendek, Podman akan merujuk ke file konfigurasi untuk menentukan nama image yang sudah dinormalisasi.

Menggunakan registry image privat

  • Seperti Docker, Podman dapat digunakan dengan registry privat.
  • Anda dapat mengikuti contoh pengaturan registry privat menggunakan akun Docker Hub.

Mengorkestrasi beberapa container

  • Beberapa container dapat diorkestrasi menggunakan Podman Compose.
  • Podman Compose menyediakan fungsi yang mirip dengan Docker Compose dan kompatibel dengan file docker-compose.yml yang sudah ada.

Pendapat GN⁺:

  • Dibanding Docker, Podman adalah engine container yang lebih cepat dan menyediakan konfigurasi bawaan yang lebih diperkuat dari sisi keamanan. Ini dapat menjadi alternatif yang menarik bagi developer dan administrator sistem.
  • Arsitektur tanpa daemon pada Podman memudahkan audit trail keamanan, sehingga identifikasi pengguna dimungkinkan saat insiden keamanan terjadi.
  • Kompatibilitas antara Podman dan Docker membantu pengguna Docker yang ada untuk lebih mudah beralih ke Podman. Ini berguna bagi organisasi yang ingin meningkatkan keamanan dan performa sambil tetap mempertahankan infrastruktur serta workflow yang ada.

1 komentar

 
GN⁺ 2024-01-14
Komentar Hacker News
  • Podman dan systemd

    • Podman bagus saat mendukung file unit systemd. Kontainer dan pod bisa dimulai otomatis dan diperbarui.
    • Namun, fitur ini dihapus karena lebih memilih Quadlet. Sekarang kontainer tunggal bisa menggunakan file unit, tetapi untuk pod diperlukan definisi klaster Kubernetes.
    • Tidak seperti Docker, kontainer Podman berjalan mengikuti definisi SELinux, sehingga masalah tidak bisa mengakses direktori yang dipetakan terus berulang.
    • Ada kebingungan apakah harus menggunakan Podman, menggunakan Kubernetes, atau membuat direktori khusus alih-alih menempatkannya di lokasi yang logis.
  • Kompatibilitas jaringan Podman

    • Salah satu keunggulan utama Podman adalah, tidak seperti Docker, ia tidak merusak pengaturan jaringan.
    • Saat memakai Docker, menjalankan bridge bersama mesin virtual KVM adalah mimpi buruk, tetapi Podman bekerja dengan baik secara bawaan.
    • Ada juga masalah VPN yang rusak atau terputus karena Docker, tetapi sejauh ini cara kerja jaringan Podman tidak mengganggu pekerjaan lain.
  • Popularitas Podman yang terus meningkat

    • Banyak alat dibuat dengan asumsi akan menambahkan grup sudo docker, tetapi ini menimbulkan masalah pada konfigurasi Docker yang berfokus pada keamanan.
    • Podman bisa digunakan tanpa hak root, yang merupakan nilai tambah dari sisi keamanan.
  • Pengalaman engineer RHEL menggunakan Podman

    • Sebagai engineer RHEL bersertifikat, ia senang memakai Podman untuk penggunaan kontainer pribadi.
    • Namun, untuk para developer ia masih menggunakan Docker, dan Podman belum menawarkan pengganti yang sebanding dengan kesederhanaan Docker Compose.
    • Di pipeline CI ia memakai Buildah, tetapi untuk pengguna developer, Docker Compose masih unggul.
  • Celah keamanan Docker dan UFW

    • Ia hampir terdampak oleh celah keamanan Docker dan UFW.
  • Pentingnya kontainer rootless dan namespace terisolasi

    • Kontainer rootless dan namespace terisolasi adalah fitur keamanan yang penting.
    • Rootless juga bisa digunakan di Docker, dan penyiapannya tidak terlalu rumit.
    • Keuntungan tetap memakai Docker adalah aksesibilitasnya lebih baik: komunitas lebih besar, lebih banyak blog, ketersediaan konfigurasi Docker Compose yang luas, dan rekan kerja yang tahu cara memakainya.
    • Pada akhirnya, baik Podman maupun Docker sama-sama menjalankan proses dalam namespace yang terisolasi dari host.
  • Podman, alternatif Docker dari Red Hat

    • Tidak jelas mengapa Red Hat membuat alternatif untuk Docker, tetapi Podman disukai.
    • Podman bisa melakukan hampir semua yang dilakukan Docker, kadang punya lebih banyak fitur (misalnya pod), atau pendekatannya lebih baik (misalnya proses pembuatan kontainer tanpa daemon).
    • Bagi developer, masalah utama mungkin Docker Compose, tetapi jika memakai file Compose sederhana, ada skrip podman-compose yang berusaha kompatibel dengan spesifikasi Docker Compose.
    • Podman juga bisa dipakai sebagai backend Docker Compose. Per 2024, setidaknya di mesin Linux, tampaknya tidak ada alasan untuk memakai Docker. Tidak yakin bagaimana Podman bekerja di macOS atau Windows.
  • Pendekatan Podman yang berfokus pada keamanan

    • Pendekatan Podman yang berfokus pada keamanan dan beberapa keputusannya disukai. Secara bawaan ia menawarkan pengaturan default yang aman dan kompatibel dengan Docker Compose.
    • Jika Podman menjadi cukup populer, ia bisa saja mengambil arah sendiri untuk perintah dan yml. Saat ini, ia terlihat seperti alat yang “bergantung” pada format file Docker dan Docker Compose.
    • Podman membutuhkan alternatif swarm yang bisa menggantikan kurangnya orkestrasi tanpa k8s. Ini bisa menawarkan cara yang sederhana dan masuk akal untuk menjalankan kontainer skala kecil dari sudut pandang keamanan yang baik.
  • Masalah yang dialami saat menggunakan Podman

    • Podman memang hebat, tetapi ketika mulai dipakai sebagai pengganti Docker, ada masalah dengan pemetaan UID dan GID, kebijakan SELinux, pengaturan DNS yang hilang, dan lainnya.
    • Saat mencoba memperbaikinya dengan menjalankan migrasi sistem, pengaturan beberapa kali malah rusak. Ada masalah kompleks terkait ACL keamanan, pemetaan ID, dan label.
    • Hasil akhirnya memuaskan, tetapi ini bukan solusi yang “langsung jalan” seperti Docker. Mungkin sudah membaik sejak mulai digunakan.
  • Podman dan Apple Silicon

    • Tidak seperti Docker, Podman tidak punya kemampuan menjalankan image x86 di Apple Silicon melalui Rosetta.
    • QEMU terlalu lambat untuk penggunaan nyata.