DEV Community

Nandan Ramdani
Nandan Ramdani

Posted on • Edited 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)