Peta dunia

 

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.

Apa yang berlaku di GitHub

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.

Pilih satu pembetulan

Tali sawat

Push ke main · main

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

      1. docker buildx imagetools inspect ghcr.io/YOUR-NAME/YOUR-REPO:main

      0 daripada 3 langkah siap · Tanda anda disimpan.