Membina Imej Docker dengan Actions
Automatikkan proses membina imej Docker untuk aplikasi anda terus dalam aliran kerja GitHub Actions.
Membina Imej Docker dengan Actions ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah Imej Docker?
Selamat datang! Dalam pelajaran ini, anda akan belajar membina imej Docker menggunakan GitHub Actions.
Pertama sekali, apakah imej Docker? Anggap ia sebagai pakej ringan, kendiri dan boleh laku yang merangkumi semua yang diperlukan untuk menjalankan sesuatu perisian:
- Kod anda
- Masa jalan (cth., Java, Python)
- Alat dan pustaka sistem
- Fail konfigurasi
Ia ibarat pelan untuk mencipta kontena Docker, sekali gus memastikan aplikasi anda berjalan secara konsisten merentas persekitaran yang berbeza.
Mengapa Mengautomatikkan Binaan Docker?
Membina imej Docker secara manual boleh berulang-ulang dan mudah menyebabkan ralat. Di sinilah automasi berguna!
Dengan mengintegrasikan pembinaan imej Docker ke dalam saluran paip CI/CD anda menggunakan GitHub Actions, anda memperoleh:
- Konsistensi: Setiap binaan mengikut langkah yang sama.
- Kelajuan: Binaan automatik lebih pantas berbanding binaan manual.
- Kebolehpercayaan: Kurangkan ralat manusia.
- Penyepaduan: Binaan dicetuskan secara automatik apabila kod berubah.
Ini ialah amalan teras dalam DevOps moden!
Pelan Dockerfile
Dockerfile ialah fail teks yang mengandungi semua perintah untuk memasang imej Docker. Ia ibarat resipi.
Berikut ialah contoh Dockerfile yang sangat ringkas:
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]Memahami Dockerfile
Mari kita huraikan Dockerfile ringkas itu:
FROM alpine:latest: Ini menentukan imej asas. Kita bermula dengan edaran Linux kecil yang bernama Alpine.WORKDIR /app: Menetapkan direktori kerja di dalam imej.COPY . .: Menyalin semua fail daripada direktori projek anda ke dalam direktori/appdi dalam imej.CMD ["echo", "Hello from Docker!"]: Ini ialah perintah yang akan dijalankan apabila kontena dimulakan daripada imej ini.
Fail ini terletak di akar projek anda.
Menyediakan Aliran Kerja Anda
Untuk membina imej Docker menggunakan GitHub Actions, anda akan mencipta fail YAML (cth., .github/workflows/docker-build.yml) dalam repositori anda.
Fail ini mentakrifkan aliran kerja anda, iaitu satu siri langkah automatik.
Aliran kerja asas untuk membina imej biasanya merangkumi:
- Mendapatkan kod anda.
- Menyediakan persekitaran binaan Docker.
- Membina imej Docker.
Langkah 1: Dapatkan Kod Anda
Langkah pertama dalam hampir semua aliran kerja GitHub Actions ialah mendapatkan kod repositori anda. Langkah ini dilakukan menggunakan action actions/checkout.
Action itu mengklon repositori anda ke dalam pelaksana, menjadikan Dockerfile dan kod aplikasi anda tersedia untuk proses binaan.
Beginilah rupanya dalam fail aliran kerja anda:
- name: Checkout repository code
uses: actions/checkout@v4Langkah 2: Sediakan Docker Buildx
Seterusnya, kita perlu menyediakan persekitaran binaan Docker. docker/setup-buildx-action amat disyorkan.
Buildx ialah komponen Docker yang meluaskan keupayaan binaan Docker dan menyokong ciri lanjutan seperti binaan berbilang platform.
Tambahkan langkah ini pada aliran kerja anda:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3Langkah 3: Bina Imej Docker
Kini tibalah bahagian utama: membina imej! Untuk tujuan ini, kita menggunakan docker/build-push-action.
Pilihan utama:
context: .: Menentukan konteks binaan (biasanya direktori akar repositori anda).push: false: Buat masa ini, kita hanya membina tanpa menghantar imej ke registri. Kita akan membincangkan penghantaran dalam pelajaran kemudian.tags: my-app:latest: Memberikan nama dan teg kepada imej anda.
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestContoh Lengkap Aliran Kerja Binaan
Berikut ialah aliran kerja GitHub Actions lengkap untuk membina imej Docker. Ingat, YAML ini perlu dimasukkan ke dalam .github/workflows/docker-build.yml.
Aliran kerja ini akan dicetuskan setiap kali berlaku push ke repositori anda.
name: Build Simple Docker Image
on: [push]
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestSemakan Pantas
Mari uji pemahaman anda tentang pembinaan imej Docker menggunakan GitHub Actions.
Imbas Kembali: Membina Imej Docker
Syabas! Anda telah mempelajari asas mengautomatikkan pembinaan imej Docker menggunakan GitHub Actions.
Kita telah membincangkan:
- Apakah imej Docker dan sebab imej tersebut penting.
- Peranan
Dockerfilesebagai pelan imej. - Cara menyediakan aliran kerja GitHub Actions asas.
- Cara menggunakan action penting seperti
actions/checkout,docker/setup-buildx-actiondandocker/build-push-action.
Dalam pelajaran seterusnya, kita akan meneroka cara menghantar imej yang dibina ini ke registri kontena!
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Membina Imej Docker dengan Actions” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Membina Imej Docker dengan Actions”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Membina Imej Docker dengan Actions”?
Automatikkan proses membina imej Docker untuk aplikasi anda terus dalam aliran kerja GitHub Actions. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Membina Imej Docker dengan Actions” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Membina Imej Docker dengan Actions
- Menolak Imej ke Pendaftaran
- Menggunakan ke Kubernetes dengan Actions
- Carta Helm dan Manifes Kubernetes dalam CI/CD