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

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

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设备时,可使用此方式解决调试问题。

声明:来自运维贼船,仅代表创作者观点。链接:https://eyangzhen.com/1875.html

运维贼船的头像运维贼船

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部