EN: Read in English
Dunia C2: Pipeline Container
Binaan multi-arch dalam CI
Anda akan belajar: bina satu image untuk komputer Intel dan Arm.
Teks BM belum disemak oleh penutur asli.
Disemak dengan GitHub Actions 2026-10 pada 31 Okt 2026
Masalahnya
Image anda jalan di server Intel kedai. Di server Arm yang baru, ia terus berhenti: exec format error. Kenapa?
Pilih satu jawapan.
Tengok
Ketik baris yang minta dua jenis CPU.
0 daripada 1 dijumpai
image multi-arch (multi-arch image): Satu nama image dengan satu pek untuk setiap jenis CPU, contohnya amd64 dan arm64. ialah satu nama dengan satu pek untuk setiap CPU. Setiap komputer tarik pek yang sesuai dengannya.
Cuba
Tekan Run. Pek arm64 gagal di runner Intel ini. Pilih pembaikan untuk baris kuning.
Tali sawat merah. Betulkan baris kuning, kemudian run semula.
Fail workflow .github/workflows/image.yml
name: Image on: push: branches: [main] permissions: contents: read jobs: image: runs-on: ubuntu-latest steps: - uses: docker/setup-buildx-action@v4 - uses: docker/build-push-action@v7 with: tags: kedai-kancil:ci platforms: linux/amd64,linux/arm64
Kuning: baris 11–11. Anda boleh ubah baris ini.
Tali sawat
Push ke main · main
Petunjuk
Runner perlukan penyesuai yang boleh berlakon jadi Arm.Teka
QEMU: Penyesuai yang buat satu jenis CPU berlakon jadi jenis lain. Lebih perlahan, tapi berfungsi. ialah penyesuai itu: pekerja Intel masak untuk dapur Arm. Apa kekurangannya?
Pilih satu jawapan.
Semak
Komputer mana tarik pek mana?
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Anda berjaya!
Kini anda boleh bina satu image untuk komputer Intel dan Arm.
Nak tahu lebih (pilihan)
GitHub juga ada runner Arm, contohnya ubuntu-24.04-arm. Ia bina arm64 secara asli, tanpa QEMU, jadi lebih laju. docker buildx imagetools inspect <image> senaraikan pek dalam satu nama.
Latihan sebenar (pilihan), dalam repo latihan awam:
Misi sebenar
docker buildx imagetools inspect ghcr.io/YOUR-NAME/YOUR-REPO:main
0 daripada 3 langkah siap · Tanda anda disimpan.
English
Your image runs on the shop’s Intel server. On a new Arm server it stops at once: exec format error. Why?
A multi-arch image is one name with a pack for each CPU. Each computer pulls the pack that fits it.
Press Run. The arm64 pack fails on this Intel runner. Pick a fix for the yellow line.
QEMU is that adapter: the Intel worker cooks for the Arm stove. What is the catch?
Which pack does each computer pull?
You can now build one image for Intel and Arm computers.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Docker docs: multi-platform image with GitHub Actions · docker/setup-qemu-action · Docker docs: multi-platform builds
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?