Membuat Container Image Podman
Membuat Container Image Podman

Membuat Container Image Podman

Membuat container image kustom yang sesuai dengan kebutuhan aplikasi. Baik seorang pengembang yang ingin mengemas aplikasi web, atau administrator sistem yang membangun lingkungan pengembangan.

Podman menyediakan alat yang efisien untuk melakukan podman build.

Build Image Go-Lang

Install runtime golang

sudo dnf install golang

Cek version golang

go version
Output:

go version go1.25.9 (Red Hat 1.25.9-1.el9_7) linux/amd64

Buat dan masuk ke direktori geeks-golang

mkdir geeks-golang
cd geeks-golang

go mod init

go mod init geeks-golang

Buatkan file main.go

nano main.go

Masukan script go http server sederhana.

package main

import (
        "fmt";
        "net/http"
)

func main() {
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
                fmt.Fprintln(w, "Hello Podman from Go!")
        })

        http.ListenAndServe(":8080", nil)
}

Jalankan file main.go pada terminal

go run main.go &

Pengujian akses http server dengan curl

curl localhost:8080
Output:

Hello Podman from Go!

Membuat Dockerfile

Buat file Dockerfile pada direktori

sudo nano Dockerfile

Masukan script Dockerfile, Tahap-tahap podman membuat image

FROM golang:1.25-alpine

WORKDIR /app

COPY go.mod ./

RUN go mod download

COPY *.go ./

RUN go build -o /geeks-golang

EXPOSE 8080

CMD ["/geeks-golang"]

Jalankan podman build untuk membuat image dengan tag image geeks-golang . Tunggu sampai proses build selesai

podman build -t geeks-golang .

Membuat dan menjalankan container dari image geeks-golang

podman run --name geeks-golang -p 8080:8080 geeks-golang:latest

atau

podman run -d --name geeks-golang -p 8080:8080 geeks-golang:latest

Akses http server go-lang pada browser http://IP_Public:8080

Akses Container http server go-lang
Akses Container http server go-lang

Membangun Image untuk Banyak Platform

Salah satu keunggulan Podman kemampuannya untuk membangun multi-platform image.

Ini memungkinkan membuat satu image yang dapat berjalan di arsitektur prosesor yang berbeda, seperti amd64 dan arm64. Ini sangat berguna jika aplikasi perlu berjalan di berbagai jenis server.

Untuk membangun image untuk platform tertentu, dapat menggunakan flag –arch dan –platform saat menjalankan podman build, atau mengkonfigurasi koneksi ke Podman remote yang berjalan di arsitektur target.

Kesimpulan

Podman menawarkan cara yang powerful dan fleksibel untuk membuat container image. Metode dockerfile adalah pilihan terbaik untuk proses build yang terstandarisasi, terotomatisasi, dan mudah dibagikan.

Sementara itu, metode commit cocok untuk membuat image secara cepat dari hasil eksperimen atau debug.

Dengan menguasai proses pembuatan image, memegang kendali penuh atas lingkungan aplikasi, memastikan konsistensi dari tahap pengembangan hingga produksi.