Podman menawarkan fleksibilitas tinggi dalam mengelola container images melalui konfigurasi registry.
Artikel ini akan membahas secara mendalam registry pada Podman, mulai dari pengaturan dasar hingga keamanan dan optimalisasi.
Memahami File registries.conf
Konfigurasi registry Podman terletak pada file registries.conf . Podman menyediakan dua level konfigurasi untuk yaitu :
- System-wide configuration (/etc/containers/registries.conf). Berlaku untuk semua pengguna di sistem
- User-specific configuration ($HOME/.config/containers/registries.conf). Menggantikan konfigurasi sistem untuk pengguna tertentu
Konfigurasi ini memungkinkan pengguna untuk mendefinisikan registry mana yang akan dicari saat menjalankan perintah seperti podman pull atau podman search tanpa menyebutkan registry secara lengkap.
Mengatur Unqualified Search Registries
Fitur ini sangat penting untuk efisiensi kerja sehari-hari. Misalnya saat menjalankan podman pull nginx, Podman perlu tahu registry mana yang harus dicari.
Registry deafult Podman
"registry.access.redhat.com", "registry.redhat.io", "docker.io".
Perlu diingat bahwa urutan dalam array ini menentukan prioritas pencarian. Podman akan mencari dari kiri ke kanan.
Berhati-hatilah saat menambahkan registry. Registry yang tidak terpercaya dapat menyebabkan “supply chain attack” di mana pengguna jahat mengupload image dengan nama yang sama seperti image legitimate.
Menambahkan Registry Images
Agar ketersediaan images podman selalu ada saat melakukan pull/ search, disini akan menambahkan dua registry yaitu; ghrc.io dan quay.io .
"registry.access.redhat.com", "registry.redhat.io", "docker.io", "ghrc.io", "quay.io"
Gunakan perintah berikut untuk mencari image di registry, podman akan menampilkan beberapa images nginx dari berbagai registry yang berada pada file registries.conf
podman search nginx
Untuk pull atau download images nginx bisa menjalankan perintah berikut, mengambil dari registry docker.io/library/nginx .
Tanpa menggunankan tag image, podman akan mencari versi image nginx terbaru.
podman pull docker.io/library/nginx nginx
Perintah Dasar Podman
Melihat images nginx
podman images
Output: REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/nginx latest 6f8edba05e38 18 hours ago 165 MB
Membuat dan menjalankan container dengan images nginx, masuk ke interaktif shell container nginx. menghentikan container nginx tekan keyboard CTRL + C .
podman run -it nginx
Output: /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2026/05/14 13:01:10 [notice] 1#1: using the "epoll" event method 2026/05/14 13:01:10 [notice] 1#1: nginx/1.31.0 2026/05/14 13:01:10 [notice] 1#1: built by gcc 14.2.0 (Debian 14.2.0-19) 2026/05/14 13:01:10 [notice] 1#1: OS: Linux 5.14.0-570.58.1.el9_6.x86_64 2026/05/14 13:01:10 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2026/05/14 13:01:10 [notice] 1#1: start worker processes 2026/05/14 13:01:10 [notice] 1#1: start worker process 24 2026/05/14 13:01:10 [notice] 1#1: start worker process 25
Sama seperti perintah diatas, ketikan tekan CTRL + C podman secara otomatis menghapus container yang dibuat.
podman run -it --rm nginx
Menampilkan container yang sedang berjalan
podman ps
Menampilkan semua container berjalan dan tidak berjalan
podman ps -a
Output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e91c3ee40371 docker.io/library/nginx:latest nginx -g daemon o... 2 minutes ago Exited (0) 23 seconds ago 80/tcp amazing_cartwright
Manajemen Podman
Menjalankan container nginx di foreground, untuk menghentikan CTRL+C
podman run --name geeks-nginx -p 8080:80 nginx
Agar container tetap berjalan meskipun terminal ditutup, gunakan flag -d
podman run -d --name geeks-nginx -p 8080:80 nginx
Masuk interaktif shell container
podman exec -it geeks-nginx /bin/bash
Melihat log container
podman logs geeks-nginx
atau
podman logs -f geeks-nginx
Menjalankan podman container
podman start ID/CONTAINER_NAME
Menghentikan container yang sedang berjalan
podman stop ID/CONTAINER_NAME
Melihat port mapping container dengan host
podman port ID/CONTAINER_NAME
Menghapus container
podman rm ID/CONTAINER_NAME
Menghapus images podman, pastian saat menghapus image tidak ada container yang menggunakan
podman rmi ID/IMAGES_NAME
Melihat informasi sebuah container
podman inspect ID/CONTAINER_NAME
Jika ruang penyimpanan menumpuk, bersihkan resource yang tidak terpakai. Perintah ini akan menghapus semua container yang berhenti, network yang tidak dipakai, dan image yang menggantung.
podman system prune -a
Kesimpulan
Konfigurasi registry pada Podman memberikan fleksibilitas luar biasa dalam mengelola container images.
Dengan memahami file registries.conf, dapat mengoptimalkan workflow container untuk berbagai skenario penggunaan dari development hingga kebutuhan production enterprise.
Memahami kebutuhan spesifik environment, dan secara bertahap mengimplementasikan fitur-fitur yang lebih advanced untuk mencapai keseimbangan optimal antara keamanan, performa, dan kemudahan penggunaan.
