📌 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
Contoh:
echo ghp_abcdefgh1234567890 | docker login ghcr.io -u nandangithub --password-stdin
Jika berhasil, akan muncul pesan:
Login Succeeded
🛠️ 2. Build Image Docker
Buat Dockerfile di direktori proyekmu, lalu build image-nya:
docker build -t ghcr.io/<USERNAME>/<NAMA_IMAGE>:<TAG> .
Contoh:
docker build -t ghcr.io/nandangithub/aplikasi-web:latest .
⬆️ 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>
Contoh:
docker push ghcr.io/nandangithub/aplikasi-web:latest
⬇️ 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>
Contoh:
docker pull ghcr.io/nandangithub/aplikasi-web:latest
🔒 5. Mengatur Akses (Opsional)
Secara default, image bersifat privat. Untuk menjadikannya public, buka halaman repo image kamu di GitHub:
- Masuk ke GitHub → Tab Packages di repo kamu
- Klik nama image
- Klik Package Settings
- 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.
Top comments (0)