manifest.conf — profile: platform-engineer
← kembali ke catatan

2026-07-18

Import Docker Image ke OpenShift Internal Registry

Pada lingkungan OpenShift disconnected (air-gapped), cluster tidak dapat melakukan pull image secara langsung dari registry publik seperti Docker Hub. Oleh karena itu, image perlu dipindahkan terlebih dahulu ke OpenShift Internal Registry agar dapat digunakan oleh workload di dalam cluster.

Artikel ini membahas proses export image, transfer ke host tujuan, import image, push ke Internal Registry, hingga deployment menggunakan oc new-app.

Prerequisites

  • Memiliki akses ke cluster OpenShift.
  • Sudah login menggunakan oc login.
  • Podman atau Docker telah terpasang.
  • Namespace tujuan telah dibuat.
  • Route Internal Registry telah diaktifkan.

Export Docker Image

Simpan image menjadi file .tar agar dapat dipindahkan ke host yang memiliki akses ke cluster.

docker save -o /path/to/your/image.tar wbitt/network-multitool:openshift

Transfer Image

Salin file image ke host tujuan menggunakan scp.

scp /path/to/your/image.tar user@target-machine:/path/on/target/machine/

Import Image

Setelah file berhasil dipindahkan, import image ke Docker atau Podman.

docker load -i image.tar

atau menggunakan Podman:

podman load -i image.tar

Verifikasi bahwa image berhasil diimport.

docker images

Login ke OpenShift Internal Registry

Ambil hostname Internal Registry OpenShift.

HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')

Login menggunakan token OpenShift.

podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOST

Tag Image

Sebelum melakukan push, image harus ditag sesuai format registry OpenShift.

podman tag docker.io/wbitt/network-multitool:openshift default-route-openshift-image-registry.apps.ocp.dev.co.id/nsdummy/network-multitool:latest

Push Image ke Internal Registry

Push image ke OpenShift Internal Registry.

podman push default-route-openshift-image-registry.apps.ocp.dev.co.id/nsdummy/network-multitool:latest

Verifikasi ImageStream

Pastikan ImageStream telah berhasil dibuat.

oc get is

Deploy Aplikasi

Deploy image yang telah tersedia pada Internal Registry menggunakan oc new-app.

oc new-app network-multitool:latest --name network-multitool

Verifikasi deployment yang telah dibuat.

oc get pods

oc get deployment

oc get svc

Verifikasi

Jika seluruh proses berhasil, ImageStream akan tersedia pada namespace, deployment berhasil dibuat, dan pod akan berada pada status Running.

oc get is

oc get pods

oc get deployment

Catatan

  • Pastikan telah login ke OpenShift menggunakan oc login.
  • Namespace tujuan harus memiliki permission untuk melakukan push image.
  • Gunakan tag image yang konsisten agar mempermudah proses deployment.
  • Pada lingkungan disconnected, seluruh image yang dibutuhkan harus dipush ke Internal Registry sebelum digunakan.

Kesimpulan

OpenShift Internal Registry memungkinkan image dari registry eksternal digunakan pada lingkungan disconnected tanpa memerlukan akses internet. Prosesnya meliputi export image, transfer ke host tujuan, import image, autentikasi ke Internal Registry, push image, kemudian deployment menggunakan oc new-app. Dengan pendekatan ini, image dapat dikelola secara terpusat dan digunakan oleh workload di dalam cluster.