DEV Community

Nandan Ramdani
Nandan Ramdani

Posted on

Cara Login, Push, dan Pull Docker Image ke GitHub Container Registry (GHCR)

📌 Apa itu GHCR?

GHCR (GitHub Container Registry) adalah layanan dari GitHub untuk menyimpan dan mengelola container image seperti Docker image. Ini memudahkan kamu meng-host image di satu tempat bersama kode sumbernya.


🔧 Prasyarat

Sebelum memulai, pastikan:

  • Sudah menginstal Docker
  • Sudah memiliki akun GitHub
  • Sudah memiliki token personal access (PAT) dengan scope:

    • write:packages untuk push
    • read:packages untuk pull
    • delete:packages (opsional)
    • repo (jika image bersifat privat dan terkait repo privat)

🔐 1. Login ke GHCR

Pertama, login ke GHCR menggunakan Docker CLI:

echo <TOKEN_GITHUB_KAMU> | docker login ghcr.io -u <USERNAME_GITHUB_KAMU> --password-stdin
Enter fullscreen mode Exit fullscreen mode

Contoh:

echo ghp_abcdefgh1234567890 | docker login ghcr.io -u nandangithub --password-stdin
Enter fullscreen mode Exit fullscreen mode

Jika berhasil, akan muncul pesan:

Login Succeeded
Enter fullscreen mode Exit fullscreen mode

🛠️ 2. Build Image Docker

Buat Dockerfile di direktori proyekmu, lalu build image-nya:

docker build -t ghcr.io/<USERNAME>/<NAMA_IMAGE>:<TAG> .
Enter fullscreen mode Exit fullscreen mode

Contoh:

docker build -t ghcr.io/nandangithub/aplikasi-web:latest .
Enter fullscreen mode Exit fullscreen mode

⬆️ 3. Push Image ke GHCR

Setelah image selesai dibuat dan ditandai (tagged), push image tersebut ke GHCR:

docker push ghcr.io/<USERNAME>/<NAMA_IMAGE>:<TAG>
Enter fullscreen mode Exit fullscreen mode

Contoh:

docker push ghcr.io/nandangithub/aplikasi-web:latest
Enter fullscreen mode Exit fullscreen mode

⬇️ 4. Pull Image dari GHCR

Jika kamu atau orang lain ingin menarik (pull) image tersebut, gunakan perintah berikut:

docker pull ghcr.io/<USERNAME>/<NAMA_IMAGE>:<TAG>
Enter fullscreen mode Exit fullscreen mode

Contoh:

docker pull ghcr.io/nandangithub/aplikasi-web:latest
Enter fullscreen mode Exit fullscreen mode

🔒 5. Mengatur Akses (Opsional)

Secara default, image bersifat privat. Untuk menjadikannya public, buka halaman repo image kamu di GitHub:

  1. Masuk ke GitHub → Tab Packages di repo kamu
  2. Klik nama image
  3. Klik Package Settings
  4. Ubah visibilitas menjadi Public

✅ Tips Tambahan

  • Gunakan nama image yang konsisten: ghcr.io/<username>/<nama-image>
  • Selalu gunakan tag, misalnya :latest, :v1.0.0, dll.
  • Automasi via GitHub Actions bisa mempercepat proses CI/CD.

📚 Referensi

Top comments (0)