You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub工作流中构建i386架构Docker镜像?

可以指定GitHub Actions Runner的处理器架构吗?

当然可以指定runner的处理器架构,针对你需要同时构建i386和x86_64 Docker镜像的需求,具体处理方式如下:

1. GitHub托管Runner的架构指定

GitHub官方托管的runner支持x86_64和ARM64架构,可通过runs-on字段直接指定:

  • x86_64架构:使用ubuntu-22.04(默认即为x86_64)
  • ARM64架构:使用ubuntu-22.04-arm64

但GitHub目前没有提供原生的i386托管runner,要构建i386镜像,需借助QEMU模拟或者自托管i386 runner。

2. 同时构建i386和x86_64镜像的最佳实践

最便捷的方式是用Docker Buildx工具,它能在单台x86_64 runner上通过QEMU模拟多架构环境,一次性构建并推送多架构镜像到Docker Hub。

以下是完整的工作流示例:

name: Build Multi-Arch Docker Images
on: [push]

jobs:
  build:
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_TOKEN }}

      - name: Build and push multi-arch images
        uses: docker/build-push-action@v5
        with:
          context: .
          platforms: linux/386,linux/amd64
          push: true
          tags: your-docker-username/your-image-name:latest

关键步骤说明:

  • docker/setup-qemu-action:安装QEMU模拟器,让x86_64 runner具备模拟i386架构的能力
  • docker/setup-buildx-action:启用Docker Buildx的多架构构建功能
  • platforms: linux/386,linux/amd64:明确指定要构建的目标架构
  • 推送后Docker Hub会自动生成多架构镜像清单,用户拉取时会自动匹配对应架构

若不想使用模拟,也可搭建自托管的i386 runner,在工作流中通过runs-on指定该runner后,分别构建不同架构的镜像。

内容的提问来源于stack exchange,提问作者Daniel Walker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 01:02:08