qemu 跨架构

跨架构:在不同架构机器上运行其他架构容器

使用qemu静态文件启动目标架构dockers。

注意:目标架构是哪个,就下载哪个文件

下载:https://github.com/multiarch/qemu-user-static/releases/tag/v7.2.0-1

https://blog.csdn.net/m0_53195006/article/details/129890780

https://blog.csdn.net/happyblreay/article/details/139743957

x86_64平台通过qemu-user-static 运行arm64的docker镜像:

1、下载目标架构的qemu

下载路径:link

https://github.com/multiarch/qemu-user-static/releases

bash 复制代码
wget https://github.com/multiarch/qemu-user-static/releases/download/v7.2.0-1/qemu-aarch64-static.tar.gz
#下载后需要解压
tar -xzf xxx.tar.gz

2、初始化binfmt

bash 复制代码
#初始化和重置binfmt
docker run --rm --privileged multiarch/qemu-user-static --reset 
#设置binfmt(可能会失败,原因未知,解决方式是手动mount qemu-aarch64-static到容器;)
docker run --rm --privileged multiarch/qemu-user-static -p yes

qemu-user-static结合binfmt_misc来实现arm架构的指令模拟(文末有详细介绍)

可以通过检查 /proc/sys/fs/binfmt_misc 下的内容来确认是否成功启用。

bash 复制代码
root@testhost1:/root>ls -al /proc/sys/fs/binfmt_misc
total 0
drwxr-xr-x 2 root root 0 May 21 15:11 .
dr-xr-xr-x 1 root root 0 May 21 23:11 ..
-rw-r--r-- 1 root root 0 Jun 17 14:58 qemu-aarch64

在安装并配置好 qemu-user-static 与 binfmt_misc 后,你就可以直接使用 Docker 运行 ARM64 的镜像了。这时,Docker 与 QEMU 联动,能够在你的 x86_64 机器上模拟 ARM64 架构。

3、拉取arm版本的镜像

bash 复制代码
docker pull arm64v8/ubuntu:20.04

4、运行arm容器

需要把qemu-aarch64-static映射到目标容器里

需要指定目标容器的platform

bash 复制代码
docker run -it --rm --platform linux/arm64 -v $(pwd)/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/ubuntu:20.04  uname -m
bash 复制代码
#ok
docker run --cpus 48 --shm-size 32G --gpus all --memory 500gb --privileged=true -v /nfs2:/nfs2 -p 8065:8888 -it --platform linux/arm64 -v $(pwd)/qemu-aarch64-static:/usr/bin/qemu-aarch64-static --name czc_arch_pytest python:3.10.14-bookworm /bin/bash

docker run --cpus 48 --shm-size 32G --gpus all --memory 500gb -it  \
  --privileged=true -v /nfs2:/nfs2 -p 8065:8888  \
  --platform linux/arm64 -v $(pwd)/qemu-aarch64-static:/usr/bin/qemu-aarch64-static \
  --name czc_arch_pytest python:3.10.14-bookworm /bin/bash

问题:网络一直限速,不知道是不是容器问题,更新下

apt update && apt upgrade

相关推荐
白远山1 小时前
无人自助健身平台搭建:从架构设计到设备联动的完整实战
java·开发语言·架构·需求分析
许彰午1 小时前
47-MetaGrid元数据表格
java·低代码·架构
Android打工仔1 小时前
不要在 Data 层随意把 Cold Flow 转换成 Hot Flow
android·架构·kotlin
AI行业应用研究2 小时前
会务问答机器人落地拆解:三级路由、知识库组织与防幻觉——会务小程序能自己回答参会者提问吗?
大数据·人工智能·安全·小程序·架构
海宇服务2 小时前
零信任架构实战:基于海宇公安二要素认证即时版构建自动化号码发卡网关
运维·人工智能·架构·自动化
bullkingluo2 小时前
从零到一搭建企业级智能问答系统:Ch05 · 向量库
人工智能·架构
自传.2 小时前
B 站更新|软考架构师案例篇・软件工程篇第 2-4 集上线|UML 用例图|类图|顺序图真题精讲
架构·系统架构·软考高级·uml·案例分析·用例图·软考系统架构师
深蓝AI2 小时前
Agent 记忆层落地实战:抽取、整合、存储、检索,为什么大上下文窗口救不了你
后端·架构
她的男孩3 小时前
安全同事找我要"上周所有登录失败记录",我查完数据库:一条都没有
java·后端·架构
m0_587383003 小时前
本地同城无人机作业接单系统源码:架构拆解与抢单调度实现
java·小程序·架构·需求分析