Podman merupakan salah satu aplikasi containerisasi yang bisa digunakan sebagai alternative dari docker, salah satu kelebihan dari podman adalah rootles. Artinya kamu bisa menjalankan container sebagai non-root (docker menjalankan container langsung sebagai root)
Selain itu network yang digunakan oleh podman masih satu layer dengan network yang digunakan oleh host, sehingga proses routing dan port forward bisa diatur oleh firewall bawaan host baik itu ufw maupun firewalld.
Berbeda dengan docker yang layer networknya terpisah dengan host. Contoh firewall host melakukan blok port 3360 untuk public dan hanya bisa diakses oleh IP Whitelist tapi docker menjalankan export port 3360 maka port tersebut akan tetap terpublish meskipun sudah dicegah oleh firewall.
Pengalaman saya pribadi, pusing dengan masalah port yang di expose oleh docker. Tapi podman ternyata bisa jadi solusi dari masalah tersebut.
Contents
1. Installasi Podman
Proses installasi podman cukup sederhana, karena repository podman sudah include langsung dengan bawaan repo dari ubuntu server.
sudo apt install podmanSetelah proses installasi selesai maka kita bisa langsung gunakan podman dengan perintah yang sama dengan docker, perbedaan hanya pada command utama yaitu docker digandi dengan podman.
# Melihat container
podman ps
# Melihat image container
podman images
# Menjalankan container
podman run docker.io/hello-world
# Dan perintah lainnya2. Konfigurasi Image Container Registy Podman
Bagian ini adalah hal yang perlu diperhatikan, karena podman tidak memiliki Container Registry pribadi seperti docker maka kita perlu menambahkan alamat url pada saat melakukan pull image. Sebagai contoh :
# Docker
docker run -d nginx:latest
# Podman
podman run -d docker.io/nginx:latestApabila kita tidak menambahkan url maka proses pull image container tidak akan berhasil. Hal ini yang membuat saya cukup bingung pada saat awal menggunakan podman karena tidak tahu akan hal tersebut.
Tapi jika kamu sudah terbiasa menggunakan container registry pribadi maka ini akan menjadi hal yang biasa. Jika kamu tidak ingin mengetik ulang URL dari container registry docker maka kamu bisa tambahkan pada configurasi berikut :
sudo nano /etc/containers/registries.confTambahkan konfigurasi berikut :
# Before
[registries.search]
registries = []
# After
[registries.search]
registries = ['docker.io']Jika konfigurasi tersebut tidak ada, maka kamu hanya perlu menambahkannya saja. Simpan dan restart podman.
sudo systemctl restart podmanSetelah itu ujicoba dengan melakukan docker run atau docker pull tanpa menambahkan url dari docker registry.
3. More tips
Bagi kamu yang masih belum move on atau masih lupa dengan mengetikan command docker dibanding podman maka kamu bisa install plugin tambahan dari podman yaitu podman-docker. Plugin ini memungkinkan kamu menjalankan podman dengan command docker.
sudo apt-get install podman-dockerDan kamu bisa jalankan perintah seperti docker ps sebagai masking dari podman ps.
Podman juga memiliki teknologi compose seperti docker. Meski tidak secanggih docker (menurut forum) tapi bagi saya masih cukup worth dengan file compose yang saya buat untuk konfigurasi docker biasanya.
sudo apt-get install podman-composeSelain itu kamu bisa gunakan dan install docker-compose biasa dan ini cukup worth, tapi pastikan kamu sudah menginstall podman-docker.
curl -L https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod 755 /usr/local/bin/docker-compose
sudo /usr/local/bin/docker-compose --version4. Penutup
Podman bisa menjadi alternative docker yang kamu gunakan, terutama jika ingin sistem rootles dan tetap mematuhi aturan yang dibuat oleh firewall dari sistem operasi. Karena pada beberapa kasus server production, lalu lintas data diatur langsung oleh firewall server dan bukan dari perangkat jaringan diatas server. Maka podman bisa menjadi salah satu solusinya.
Referensi :
- https://gist.github.com/isomorphisms/3114ab86960656a729a6b4653001aae2
- https://www.server-world.info/en/note?os=Ubuntu_24.04&p=podman&f=10



