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