Install and Setup Podman di Ubuntu Server 24.04

Photo of author
Publish in

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.

Perbedaan podman dan docker dari sisi network

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.

1. Installasi Podman

Proses installasi podman cukup sederhana, karena repository podman sudah include langsung dengan bawaan repo dari ubuntu server.

sudo apt install podman

Setelah 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 lainnya

2. 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:latest

Apabila 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.conf

Tambahkan 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 podman

Setelah 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-docker

Dan 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-compose

Selain 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 --version

4. 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