Konfigurasi Registry dan Manajemen Podman
Konfigurasi Registry dan Manajemen Podman

Konfigurasi Registry dan Manajemen Podman

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 :

  1. System-wide configuration (/etc/containers/registries.conf). Berlaku untuk semua pengguna di sistem
  2. 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.