X86_64平台运行Arm docker容器

QEMU是什么

QEMU是一个通用的开源的跨平台仿真模拟器,提供user和system两种模式。其模拟的作用可是可以模拟在特定的体系结构下的应用的执行或者构建,比如在x86的体系结构的操作系统上运行ARM的应用。

常见问题的场景

在ARM体系结构的硬件环境中安装Docker,然后构建并运行ARM的镜像自然非常简单,但是如果没有ARM环境,只有x86的机器又想做这件事情,这时QEMU也就有了用武之地,比如用友的技术中台似乎就是通过QEMU来模拟ARM硬件进行模拟。

构建Arm镜像

  1. 获取ARM格式的ubuntu镜像

    docker pull arm64v8/ubuntu:20.04
    
  2. 获取QEMU

    使用它的原因是宿主的环境不是ARM架构,导致容器无法运行,所以需要QEMU来虚拟出Arm的架构。

    下载地址https://github.com/multiarch/qemu-user-static/releases
    在这里插入图片描述

    sudo cp qemu-aarch64-static /usr/bin/
    sudo chmod +x /usr/bin/qemu-aarch64-static
    
  3. 注册QEMU虚拟机

    docker run --rm --privileged multiarch/qemu-user-static:register
    

    📢 重启电脑后需要重新执行注册

  4. 创建Arm容器

    docker run --rm -it \
    -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static \
    -v /etc/timezone:/etc/timezone:ro \
    -v /etc/localtime:/etc/localtime:ro \
    arm64v8/ubuntu:20.04 \
    bash
    
  5. 测试容器架构

    root@8674accc718a:/# uname -m
    aarch64
    
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyWine

你的鼓励将是我创作的做大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值