0Pricing
DevOps Bootcamp · Pelajaran

Mengirim Citra ke Registri

Konfigurasikan alur kerja untuk mengirim citra Docker yang telah dibangun ke registri kontainer seperti Docker Hub atau GitHub Container Registry.

Mengirim Citra ke Registri adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa Itu Registri Kontainer?

Registri kontainer adalah layanan penyimpanan daring yang aman untuk citra Docker Anda. Anggaplah registri sebagai drive awan yang dirancang khusus untuk paket aplikasi Anda.

  • Registri menyimpan berbagai versi citra Anda.
  • Registri memudahkan Anda berbagi citra dengan orang lain.
  • Registri sangat penting untuk penerapan di berbagai lingkungan.

Mengapa Menggunakan Registri?

Registri sangat penting dalam pengembangan perangkat lunak modern. Registri menyediakan beberapa manfaat utama:

  • Berbagi Citra: Mendistribusikan citra aplikasi Anda dengan mudah.
  • Pengelolaan Versi: Menyimpan dan mengelola berbagai versi aplikasi Anda.
  • Penerapan Andal: Memastikan penerapan yang konsisten di berbagai lingkungan.
  • Keamanan: Banyak registri menyediakan pemindaian kerentanan.

Layanan Registri Umum

Ada banyak layanan registri kontainer yang tersedia. Dua layanan populer yang sering Anda temui adalah:

  • Docker Hub: Registri publik yang banyak digunakan. Cocok untuk berbagi citra publik dan proyek pribadi.
  • Registri Kontainer GitHub (GHCR): Terintegrasi erat dengan repositori GitHub. Sangat baik untuk citra privat dan organisasi yang sudah menggunakan GitHub.

Penyedia awan besar lainnya juga menawarkan registri mereka sendiri, seperti AWS ECR atau Registri Kontainer Google.

Autentikasi Registri

Sebelum dapat mengirim citra ke registri, Anda perlu membuktikan identitas Anda. Proses ini disebut autentikasi, atau "masuk".

Biasanya, Anda akan memberikan nama pengguna dan token akses pribadi (PAT) atau kata sandi. Kredensial ini memastikan hanya pengguna yang berwenang yang dapat mengirim atau mengambil citra dari repositori privat Anda.

Menggunakan docker/login-action

Di GitHub Actions, cara terbaik untuk melakukan autentikasi ke sebagian besar registri yang kompatibel dengan Docker adalah menggunakan docker/login-action.

Aksi ini secara aman memasukkan alur kerja Anda ke registri yang ditentukan, sehingga langkah-langkah berikutnya dapat mengirim citra. Aksi ini menerima username dan password sebagai masukan.

Mengirim ke Docker Hub

Untuk mengirim citra ke Docker Hub, alur kerja Anda perlu:

  1. Masuk: Gunakan docker/login-action dengan nama pengguna Docker Hub dan Token Akses Pribadi (PAT) yang disimpan sebagai Rahasia GitHub.
  2. Bangun & Kirim: Gunakan docker/build-push-action untuk membangun citra dan tetapkan push: true. Pastikan label citra Anda menyertakan nama pengguna Docker Hub, misalnya your_username/my-app:latest.

Contoh Alur Kerja Docker Hub

Berikut contoh alur kerja GitHub Actions untuk membangun dan mengirim citra Docker ke Docker Hub. Ingatlah untuk menyiapkan DOCKER_USERNAME dan DOCKER_TOKEN sebagai Rahasia GitHub di repositori Anda.

name: Publish Docker image to Docker Hub

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Log in to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: ${{ secrets.DOCKER_USERNAME }}/my-app:latest

Mengirim ke GHCR

Registri Kontainer GitHub (GHCR) menawarkan integrasi yang mulus. Perbedaan utama untuk GHCR:

  • Autentikasi: Anda dapat menggunakan GITHUB_TOKEN bawaan untuk autentikasi. Tetapkan username: ${{ github.actor }} dan password: ${{ secrets.GITHUB_TOKEN }}.
  • Izin: Tugas Anda memerlukan izin packages: write.
  • Pelabelan Citra: Citra diberi label seperti ghcr.io/<OWNER>/<REPOSITORY>:<TAG>.

Contoh Alur Kerja GHCR

Alur kerja ini mendemonstrasikan pengiriman citra ke Registri Kontainer GitHub. Perhatikan blok permissions dan format label citra.

name: Publish Docker image to GHCR

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write # Required for GHCR

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Log in to GHCR
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: ghcr.io/${{ github.repository }}:latest

Uji Pemahaman Anda

Mari kita tinjau secara singkat hal-hal yang telah Anda pelajari tentang mendorong image ke registri container.

Rangkuman: Dorong Image Anda

Kerja bagus! Anda telah mempelajari cara mendorong image Docker ke registri container menggunakan GitHub Actions.

  • Registri container menyimpan dan mengelola image Docker Anda.
  • Autentikasi menggunakan kredensial adalah langkah awal yang sangat penting.
  • docker/login-action membantu Anda masuk dengan aman.
  • Anda telah melihat contoh untuk Docker Hub dan GitHub Container Registry, serta memahami persyaratan autentikasi dan pemberian tag yang berbeda pada masing-masing layanan.

Selanjutnya, Anda akan mempelajari cara menerapkan image tersebut ke Kubernetes!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengirim Citra ke Registri” gratis?

Ya — teks lengkap “Mengirim Citra ke Registri” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengirim Citra ke Registri”?

Konfigurasikan alur kerja untuk mengirim citra Docker yang telah dibangun ke registri kontainer seperti Docker Hub atau GitHub Container Registry. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Mengirim Citra ke Registri” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membangun Citra Docker dengan Actions
  2. Mengirim Citra ke Registri
  3. Menerapkan ke Kubernetes dengan Actions
  4. Chart Helm dan Manifes Kubernetes dalam CI/CD
← Kembali ke DevOps Bootcamp