x86架构的Ubuntu上通过Docker运行ARM架构的系统

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的虚拟系统,配置步骤如下:

  1. 拉取 multiarch/qemu-user-static镜像。运行以下命令:

    sudo docker pull --platform linux/amd64 multiarch/qemu-user-static
    
  2. 拉取multiarch/qemu-user-static镜像。运行以下命令:

    sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
    
  3. 拉取适用于ARM架构的Docker镜像。例如,您可以使用以下命令拉取一个基于ARMUbuntu镜像:

    sudo docker pull arm32v7/ubuntu
    
  4. 运行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

你可能感兴趣的:(docker,ubuntu,架构)