当前位置: 首页 > news >正文

amd64 -- buildx linux 镜像 Docker docker

当前跨 CPU 架构编译程序的不同方法:

方法一:直接在目标硬件上编译方法二:模拟目标硬件方法三:通过 binfmt_misc 模拟目标硬件的用户空间方法四:使用交叉编译器新方案:​ =>使用buildx构建多平台 Docker 镜像(无需修改dockerfile)

快速开始

1.查看buildx插件(要求docker大于19.03)

docker buildx version
github.com/docker/buildx v0.5.1-docker 11057da37336192bfc57d81e02359ba7ba848e4a
//如果提示docker: ‘buildx’ is not a docker command. 需要看下docker版本

2.Docker for Linux 不支持构建 arm 架构镜像,我们可以运行一个新的容器让其支持该特性

启用 binfmt_misc

//可以通过运行一个特权 Docker 容器来更方便的设置启用 binfmt_misc。这里输出太长,我就不展示了。

docker run --rm --privileged tonistiigi/binfmt:latest --install all

//运行结束后需要重启docker使其生效

sudo systemctl daemon-reload
sudo systemctl restart docker

//查看支持的处理器

ls -al /proc/sys/fs/binfmt_misc/
-rw-r–r-- 1 root root 0 Nov 6 08:10 qemu-aarch64
-rw-r–r-- 1 root root 0 Nov 6 08:10 qemu-arm
-rw-r–r-- 1 root root 0 Nov 6 08:10 qemu-mips64
-rw-r–r-- 1 root root 0 Nov 6 08:10 qemu-mips64el
-rw-r–r-- 1 root root 0 Nov 6 08:10 qemu-ppc64le
-rw-r–r-- 1 root root 0 Nov 6 08:10 qemu-riscv64
-rw-r–r--

http://www.dtcms.com/a/237889.html

相关文章:

  • 0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
  • 大数据治理的常见方式
  • uniapp跳转到webview组件的时候,要注意:移除所有不可见字符(包括零宽空格)
  • Fetch API 使用详解:Bearer Token 与 localStorage 实践
  • spring中的@KafkaListener 注解详解
  • uni-app学习笔记二十三--交互反馈showToast用法
  • LeetCode - 560. 和为 K 的子数组
  • 【西门子杯工业嵌入式-5-串口实现数据收发】
  • java中static学习笔记
  • ubuntu下编译osg3.6.5源码
  • AT_abc409_e [ABC409E] Pair Annihilation
  • 【JAVA】javadoc —— 如何生成标准的 Java API 文档
  • 12.7Swing控件6 JList
  • SQL Server从入门到项目实践(超值版)读书笔记 16
  • 用 DeepSeek 高效完成数据分析与挖掘
  • 时序数据库IoTDB结合SeaTunnel实现高效数据同步
  • 浅谈未来汽车电子电气架构发展趋势中的通信部分
  • 码蹄杯真题分享
  • LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
  • 前端现行架构浅析
  • masm32汇编实现扫雷进程注入
  • 深入理解 x86 汇编中的符号扩展指令:从 CBW 到 CDQ 的全解析
  • Chainlink Automation 深度解析与实战
  • 【算法】【优选算法】优先级队列
  • LUFFY(路飞): 使用DeepSeek指导Qwen强化学习
  • 27、基于map实现的简易kv数据库
  • 第二部分 方法,还是方法——“信管法则”的四大要点
  • 求解一次最佳平方逼近多项式
  • 28、元组的遍历
  • XXL-JOB——源码分析解读(1)