Skip to main content

使用docker在x86平台快速搭建一个arm平台的测试环境

·397 words·1 min
Kydin
Author
Kydin
自由のために戦え
Table of Contents

前言
#

笔者最近尝试在 x86 平台快速搭建一个 arm 平台的测试环境,节省对开发板的依赖,主要是用来测试应用层的软件,所以使用 docker 搭建了一个测试环境。

前期准备
#

  • 宿主机:Ubuntu 24.04 x86_64
  • 安装了 docekr

环境搭建
#

在 docker 运行跨架构的镜像,我是使用了 qemu-user-static 这个项目,

首先要开启 docker 的实验性功能,编辑 /etc/docker/daemon.json 文件,如果没有就创建,添加以下字段:

"experimental": true

安装工具包

sudo apt install qemu-user-static

开启 qemu-user-static 容器

docker run --privileged multiarch/qemu-user-static --reset -p yes

容器的选择
#

在 dockerhub 的 arm64v8 中,有许多不同镜像可以选择,例如 ubuntu、debian 等主流的 linux 发行版都是有的。

docker run -it --platform linux/arm64 -p 65110:80 -v $(pwd)/root:/root --name armbuntu_noble arm64v8/ubuntu:noble /bin/bash

指令解析:

arm64v8/ubuntu:noble:运行一个 arm64v8/ubuntu:noble 的容器,

–name armbuntu_noble:名称叫做 armbuntu_noble,

–platform linux/arm64:使用 arm64 平台,

-v $(pwd)/root:/root:将当前目录下的 /root 目录映射为容器的 /root 目录,

-p 65110:80:将容器的 80 端口映射为主机的 65110 端口。

效果如下:

运行效果