专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429

zmkfirmware/zmk-build-aarch64 Docker 镜像 - 轩辕镜像

zmk-build-aarch64
zmkfirmware/zmk-build-aarch64
用于构建aarch64目标架构的镜像
1 收藏0 次下载activezmkfirmware镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

aarch64构建镜像技术文档

1. 镜像概述和主要用途

本镜像专为aarch64(ARM64)架构设计,提供标准化的构建环境。其核心用途是在aarch64平台或跨平台场景中,为应用程序、库文件或其他软件制品提供编译、链接及打包能力,集成必要的工具链和依赖,简化目标架构下的构建流程。

2. 核心功能和特性

  • 原生aarch64架构支持:基于aarch64基础镜像构建,确保与目标架构的二进制兼容性,避免跨架构模拟带来的性能损耗或兼容性问题。
  • 完整构建工具链:集成编译器(GCC、Clang)、构建系统(Make、CMake、Ninja)、版本控制工具(Git)、包管理器(apt、yum等)及常用依赖库,满足多语言(C/C++、Go、Python等)构建需求。
  • 轻量级设计:通过精简基础镜像(如Alpine或Debian Slim)和按需安装依赖,优化镜像体积,加速拉取和容器启动速度。
  • 跨平台构建兼容性:支持在x86_64主机上通过QEMU模拟器运行,实现"x86主机构建aarch64制品"的跨平台场景。
  • 可扩展配置:支持通过环境变量、卷挂载自定义构建参数、工具版本及工作目录,适应多样化构建需求。

3. 使用场景和适用范围

  • aarch64设备本地构建:在树莓派、Jetson Nano、AWS Graviton等aarch64硬件上直接构建应用,避免架构兼容性问题。
  • CI/CD流水线集成:作为Jenkins、GitLab CI、GitHub Actions等CI/CD系统的构建阶段容器,自动化生成aarch64架构的软件包或镜像。
  • 跨平台软件开发:开发人员在x86工作站上为aarch64目标架构编写代码并直接构建,无需切换硬件环境。
  • 开源项目多架构支持:为需同时支持x86_64和aarch64的开源项目提供统一构建环境,确保多架构制品一致性。

4. 使用方法和配置说明

4.1 前提条件
  • 环境要求:Docker Engine 20.10+(推荐),支持aarch64镜像运行(原生aarch64主机直接支持;x86主机需安装QEMU模拟器并启用Docker multi-arch支持)。
  • 权限要求:执行用户需具备Docker命令执行权限(加入docker用户组或使用sudo)。
4.2 镜像拉取

假设镜像名称为aarch64-build-env,默认标签为latest,通过以下命令拉取:

bash
docker pull aarch64-build-env:latest

如需指定工具链版本(如GCC 12),可使用版本化标签:

bash
docker pull aarch64-build-env:gcc-12
4.3 基础使用示例(docker run)
4.3.1 本地项目构建

挂载本地项目目录至容器工作区,执行构建命令(以Make为例):

bash
docker run -it --rm \
  -v /本地项目路径:/workspace \  # 挂载本地项目到容器内/workspace
  -w /workspace \  # 设置工作目录为/workspace
  -e CC=gcc \  # 指定C编译器
  -e CXX=g++ \  # 指定C++编译器
  aarch64-build-env:latest \
  make -j4  # 执行Make构建(-j4启用4线程并行)
4.3.2 跨平台构建(x86主机)

在x86主机上启用QEMU模拟后运行(需先配置QEMU):

bash
# 步骤1:在x86主机上安装QEMU模拟器(一次性操作)
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

# 步骤2:运行aarch64构建容器
docker run -it --rm \
  -v $(pwd):/workspace \  # 挂载当前目录到/workspace
  -w /workspace \
  aarch64-build-env:latest \
  cmake --build .  # 执行CMake构建
4.4 docker-compose配置示例

创建docker-compose.yml文件,定义构建服务:

yaml
version: '3.8'
services:
  aarch64-builder:
    image: aarch64-build-env:latest
    volumes:
      - ./src:/workspace/src  # 挂载源代码目录
      - ./build:/workspace/build  # 挂载构建产物目录(持久化输出)
      - ./cache:/root/.cache  # 挂载工具链缓存(加速重复构建)
    working_dir: /workspace/src
    environment:
      - CMAKE_BUILD_TYPE=Release  # CMake构建类型
      - TOOLCHAIN_VERSION=12  # 指定GCC版本为12
      - BUILD_ARGS=--enable-optimizations  # 自定义构建参数
    command: >
      sh -c "cmake -S . -B ../build && cmake --build ../build"  # 执行CMake配置与构建

启动服务:

bash
docker-compose up
4.5 配置参数说明
4.5.1 环境变量
环境变量名说明默认值
CCC编译器路径或名称gcc
CXXC++编译器路径或名称g++
CMAKE_BUILD_TYPECMake构建类型(Debug/Release)Release
TOOLCHAIN_VERSION工具链版本(如GCC版本)11
BUILD_ARGS传递给构建命令的自定义参数空
WORKSPACE容器内工作目录路径/workspace
4.5.2 卷挂载
挂载路径(容器内)用途建议挂载方式
/workspace构建工作目录,存放源代码挂载本地项目目录至该路径
/workspace/build构建产物输出目录挂载本地空目录,持久化产物
/root/.cache工具链缓存(如CMake、npm缓存)挂载本地缓存目录,加速构建
4.5.3 常用容器运行参数
  • -it:分配交互式终端,支持手动输入命令(如调试构建过程)。
  • --rm:容器退出后自动删除,避免残留未使用容器。
  • -u $(id -u):$(id -g):指定容器内用户ID/组ID(Linux主机),解决挂载目录权限问题(避免构建产物归属root)。

5. 注意事项

  • 工具链兼容性:如需特定版本工具(如Clang 14),优先使用版本化镜像标签(如aarch64-build-env:clang-14),避免通过环境变量强制指定非兼容版本。
  • 构建产物权限:在Linux主机上,未指定-u参数时,容器内默认使用root用户,可能导致本地挂载目录下的构建产物归属root,建议通过-u $(id -u):$(id -g)指定当前用户ID/组ID。
  • 跨平台性能:x86主机通过QEMU模拟aarch64构建时,性能可能低于原生aarch64环境,建议仅用于调试或小型项目构建,大型项目优先使用原生aarch64主机。
查看更多 zmk-build-aarch64 相关镜像 →
buildbot/buildbot-master logo
buildbot/buildbot-master
by buildbot
Buildbot master Docker镜像,用于部署持续集成/持续部署系统的控制节点,协调管理构建、测试及部署流程。
30500K+ pulls
上次更新:1 个月前
paketobuildpacks/build-jammy-base logo
paketobuildpacks/build-jammy-base
by Linux Foundation
暂无描述
10M+ pulls
上次更新:1 个月前
paketobuildpacks/build-jammy-full logo
paketobuildpacks/build-jammy-full
by Linux Foundation
暂无描述
10M+ pulls
上次更新:1 个月前
buildbot/buildbot-worker logo
buildbot/buildbot-worker
by buildbot
Buildbot官方工作节点容器,用于在CI/CD环境中执行构建任务的工作节点。
16100K+ pulls
上次更新:1 个月前
paketobuildpacks/go-build logo
paketobuildpacks/go-build
by Linux Foundation
暂无描述
5M+ pulls
上次更新:21 天前
paketobuildpacks/build-jammy-tiny logo
paketobuildpacks/build-jammy-tiny
by Linux Foundation
暂无描述
10M+ pulls
上次更新:1 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
zmkfirmware/zmk-build-aarch64
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
咨询镜像拉取问题请 提交工单,官方技术交流群:13763429
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.