Mendalami pengelolaan image Podman: pull dan push, tag sebagai alias nama, save dan load dengan format oci-dir maupun docker-dir, membaca riwayat layer, membuat manifest multi-arch, memeriksa image dengan Skopeo, serta peran image digest sebagai referensi yang tidak berubah.

Episode 3 membahas pengelolaan container. Episode 4 ini naik satu level ke hal yang lebih hulu: image — bahan baku dari setiap container. Kalian akan belajar mengambil dan mengirim image, menandai dengan tag, menyimpan dan memuat sebagai file, membaca riwayat lapisan, serta menggunakan manifest untuk image multi-arsitektur.
Image adalah cetak biru read-only. Sebuah image bisa dipakai membuat banyak container, dan container hanya menambahkan lapisan tulis tipis di atasnya. Perintah image di Podman:
| Perintah | Fungsi |
|---|---|
podman pull | Mengunduh image dari registry |
podman push | Mengirim image ke registry |
podman tag | Memberi nama atau alias pada image |
podman save | Menyimpan image menjadi file |
podman load | Memuat image dari file |
podman history | Menampilkan riwayat layer image |
podman rmi | Menghapus image |
podman images | Menampilkan daftar image lokal |
Alur paling dasar adalah mengambil image, menandainya, dan mengirimnya ke registry:
podman pull quay.io/nginx/nginx:latest
podman tag quay.io/nginx/nginx:latest myrepo/nginx:v1
podman push myrepo/nginx:v1podman tag tidak menggandakan image — ia hanya menambah referensi nama. Satu image bisa punya banyak tag sekaligus. podman push mengirim image ke registry, biasanya butuh autentikasi lewat podman login.
Kadang kalian perlu memindahkan image tanpa registry — misalnya antar server di jaringan offline. Podman menyediakan dua format penyimpanan file:
| Format | Opsi | Keterangan |
|---|---|---|
| oci-dir | --format oci-dir | Format OCI asli, direktori berisi manifest dan layer |
| docker-dir | --format docker-dir | Format Docker, direktori berisi manifest lama |
podman save --format oci-dir -o nginx-image nginx:latest
podman load -i nginx-imagepodman save -o nginx-image menulis image ke direktori, podman load -i nginx-image membacanya kembali ke storage lokal. Format docker-dir berguna saat image akan dibaca alat yang belum mendukung OCI.
Image tersusun dari layer-layer yang ditumpuk. Untuk melihat bagaimana sebuah image dibangun lapis demi lapis:
podman history nginx:latest
podman imagespodman history menampilkan setiap layer, perintah yang membuatnya, dan ukurannya. podman images menampilkan daftar image lokal beserta ukuran dan tag. Untuk menghapus image yang tidak dipakai lagi, gunakan podman rmi. Layer yang berbagi (misalnya base image yang sama) hanya disimpan sekali di storage — inilah yang membuat puluhan container dari image yang sama tetap hemat ruang.
Image modern tidak selalu satu arsitektur. Sebuah manifest memuat daftar variant image untuk berbagai arsitektur — misalnya amd64 dan arm64 — dalam satu referensi. Inilah yang membuat podman pull nginx otomatis mengambil versi yang sesuai dengan arsitektur kalian.
Dengan podman manifest kalian bisa menggabungkan beberapa image menjadi satu manifest multi-arch:
podman manifest create myapp
podman manifest add myapp myapp:amd64
podman manifest add myapp myapp:arm64
podman manifest push myapp docker.io/myrepo/myapp:latestpodman manifest create membuat manifest kosong, podman manifest add menambahkan image per arsitektur, dan podman manifest push mengirimnya ke registry sebagai satu referensi.
Untuk memeriksa manifest atau image di registry tanpa menariknya ke storage lokal, Skopeo adalah alat yang tepat:
skopeo inspect docker://quay.io/nginx/nginx:latest
skopeo inspect --raw docker://myrepo/myapp:latestskopeo inspect menampilkan metadata image seperti arsitektur, layer, dan label. skopeo inspect --raw menampilkan manifest mentah — berguna untuk melihat daftar variant pada manifest multi-arch.
Setiap image punya digest, yaitu hash unik dari konten image. Berbeda dengan tag yang bisa dipindahkan ke image lain, digest merujuk ke konten yang sama selamanya.
podman images --digestsKolom DIGEST pada output menampilkan nilai hash tersebut. Kalian bisa menarik image dengan referensi digest, misalnya podman pull nginx@sha256:... — format yang menjamin image yang kalian dapat benar-benar yang kalian harapkan.
Tip
Gunakan referensi digest untuk deployment yang butuh kepastian versi — podman pull nginx@sha256:.... Tag bisa berganti image, digest tidak akan pernah berubah untuk konten yang sama.
Episode 4 menutup pengelolaan image: pull dan push, tag sebagai alias nama, save dan load dengan format oci-dir maupun docker-dir, riwayat layer lewat history, penghapusan dengan rmi, manifest multi-arch, inspect dengan Skopeo, dan digest sebagai referensi immutable.
Inti yang harus dibawa pulang:
podman history membuka cara sebuah image dibangun.Episode 5 berikutnya menyelami mode rootless dan daemonless: user namespace remapping, pembatasan resource tanpa sudo, networking dengan slirp4netns dan pasta, serta podman machine untuk macOS dan Windows.