x86系统上启动arm架构镜像
系统环境说明
- 宿主机:windows vmware虚拟机下运行的ubuntu x86系统
wayne@testServer:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 23.04"
NAME="Ubuntu"
VERSION_ID="23.04"
VERSION="23.04 (Lunar Lobster)"
VERSION_CODENAME=lunar
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=lunar
LOGO=ubuntu-logo
安装说明
首先安装好docker,然后开始利用QEMU启动arm的虚拟系统,配置步骤如下:
-
拉取
multiarch/qemu-user-static
镜像。运行以下命令:sudo docker pull --platform linux/amd64 multiarch/qemu-user-static
-
拉取
multiarch/qemu-user-static
镜像。运行以下命令:sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
-
拉取适用于
ARM
架构的Docker
镜像。例如,您可以使用以下命令拉取一个基于ARM
的Ubuntu
镜像:sudo docker pull arm32v7/ubuntu
-
运行
ARM
架构的Docker
容器。使用以下命令运行容器:sudo docker run -it --rm --name arm-container --platform linux/arm/v7 arm32v7/ubuntu /bin/bash
现在,你应该能够在x86
架构的Ubuntu
上通过Docker
运行ARM
架构的系统。
请注意,性能方面可能会有一些开销,因为在x86
主机上模拟ARM
架构需要一定的处理器资源。对于较大或计算密集型的应用程序,建议在真实的ARM硬件上进行测试和部署。
配置展示
wayne@testServer:~$ sudo docker run -it --rm --name arm-container --platform linux/arm/v7 arm32v7/ubuntu /bin/bash
root@6de29ecd6345:/# ls
bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
root@6de29ecd6345:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
root@6de29ecd6345:/# uname -m
armv7l