侧边栏壁纸
博主头像
运维贼船的技术小站 博主等级

行动起来,活在当下

  • 累计撰写 30 篇文章
  • 累计创建 19 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

在x86平台上实现运行arm端容器镜像

aoarasi
2025-07-29 / 0 评论 / 0 点赞 / 8 阅读 / 0 字

1.背景

通常我们手里有X86架构平台的机器,而没有ARM架构平台的机器可以使用时,往往会寻找一些模拟器实现,但容器本身是支持模拟的。本次以在X86下实现ARM端的容器运行。

2.安装实现

在 x86 架构的机器上运行 ARM 架构的镜像容器,通常需要借助 QEMU 等架构仿真工具来实现。

我这里使用ubuntu来进行实验,执行安装命令:

# 安装 QEMU 仿真器
sudo apt-get install -y qemu binfmt-support qemu-user-static
​
# 注册 QEMU 二进制格式(使系统能够识别 ARM 二进制文件)
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

img

3.运行模拟

# 运行 ARM64 容器(在 x86 上模拟)
docker run --rm --platform linux/arm64/v8 your-image:latest
​
# 输出应显示 "aarch64"(ARM64 架构)

我这里测试一下tengine容器:

docker run --rm --platform linux/arm64/v8 zounan/tengine:3.1.0 uname -a

结果回显:

Linux 06020232ceed 5.15.0-139-generic #149~20.04.1-Ubuntu SMP Wed Apr 16 08:29:56 UTC 2025 aarch64 Linux

img

可以看到已经成功运行ARM下的容器程序了。

在docker-compose.yml中指定架构:

version: '3.8'
services:
  arm-app:
    image: your-image:latest
    platform: linux/arm64/v8  # 强制使用 ARM64 镜像
    command: ["uname", "-m"]

4.最后

QEMU 仿真会导致性能下降,仅适用于开发或测试环境。当手里无法具备ARM设备时,可使用此方式解决调试问题。

0

评论区