docker 运行异构镜像
概述
关于docker镜像在不同的cpu架构下运行报错的解决办法,作者踩坑验证,在此分享经验
某次工作遇到需要银行内部部署docker镜像,由于行内已经开始走信创的路线,使用鲲鹏系统,arm架构,记过就遇到了standard_init_linux.go:219: exec user process caused: exec format error,没办法,只能自己研究一下。
关于 docker 版本
- docker 运行其他平台容器,需要使用 --platform 参数来指定平台
- docker 19.03.9 及以上的版本才支持 --platform 参数
- 默认没有开启 --platform 参数,需要手动开启,直接执行,会有下面的报错
查看是否开启 experimental 功能
--platform 参数需要 experimental 为 true,通过下面的命令可以验证是否开启
修改 daemon.json 文件,开启 experimental 功能


修改完成后,重启 docker 来验证
systemctl restart
docker docker info | grep -i 'experimental'
binfmt_misc 、QEMU依赖安装
binfmt_misc安装

qemu-user-static安装


安装结果检查

运行arm64v8/centos镜像
docker run -it --rm --platform arm64 -v /root/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/centos:latest /bin/bash
跨架构构建
思路是在构建过程中,如果有RUN指令,在指令前将qemu文件加进去。
以buildah为例,跟docker buildx应该没有差异。

可能出现的问题:
- 内核版本过低报错

解决办法:
- 方法一:升级内核
- 方法二:手动挡实现-p yes功能

参考:
https://www.cnblogs.com/xiaojiluben/p/16745276.html
x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建-CSDN博客
https://github.com/multiarch/qemu-user-static/tree/master
相关文章:
docker 运行异构镜像
概述 关于docker镜像在不同的cpu架构下运行报错的解决办法,作者踩坑验证,在此分享经验 某次工作遇到需要银行内部部署docker镜像,由于行内已经开始走信创的路线,使用鲲鹏系统,arm架构,记过就遇到了standa…...
练习3-8 查询水果价格
探索--题目集索引 给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元…...
PTA 对于下列程序,正确的是() 。void f(int *p){ *p = 5;}int main(void){ int a, *p; a = 10;
对于下列程序,正确的是() 。 void f(int *p) {*p 5; } int main(void) {int a, *p;a 10;p &a;f(p);printf(“%d”, (*p));return 0; }A.5 B.6 C.10 D.11 答:A 解析:这里考察当是指针作为函数的参数。这里将 p …...
【银河商学】大蓝短视频学习02——流量突围实战
【银河商学】大蓝短视频学习02——流量突围实战 内容大纲 找对标找准你的"竞争对手" 定形式选定适合你的视频形式 做内容选题决定命运 2s上热门 一、找对标 1. 为什么要找对标 标准答案,少走弯路99%的问题,都有标准答案。 找个懂得人问一问 秒上热门,快速起号预…...
Android 获取Sms
Android 获取Sms 本篇文章记录下android下获取短信列表. 1: 申请权限 <uses-permission android:name"android.permission.READ_SMS" />2: 获取短信内容列表 private void readSms() {String[] projection {"_id", "address", "b…...
【Linux】cpp-httplib库
目录 升级gcc版本 下载cpp-httplib的zip安装包,上传到服务器 编辑 简单使用 首先打开gittee,搜索cpp-httplib,选择其中一个即可 也可以点下方链接 cpp-httplib库:cpp-httplib: cpp-httplib (gitee.com) 注意:cpp-httplib在使用的时候需…...
全网最最最详细centos7如何安装docker教程
在CentOS 7上安装Docker主要包括以下步骤: 1. 卸载旧版本的Docker 首先,需要确保系统上没有安装旧版本的Docker。可以通过以下命令来卸载它们: sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-late…...
【C++专栏】C++入门 | 函数重载、引用、内联函数
博客主页:Duck Bro 博客主页系列专栏:C专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ C入门 | 函数重载、引用、内联函数 文章编号:C入门 / 02 文…...
html--彩虹爱心
文章目录 js内容cssreset.min.cssstyle.css html内容 js内容 const colors ["#e03776","#8f3e98","#4687bf","#3bab6f","#f9c25e","#f47274"]; const SVG_NS http://www.w3.org/2000/svg; const SVG_XLINK &q…...
基于Kronig-Penney能带模型的MATLAB求解与仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于Kronig-Penney能带模型的MATLAB求解与仿真.综合利用 MATLAB提供的求解常微分方程、矩阵行列式、代数表达式化简及绘图等函数 ,可使 Kronig-Penney能带模型分析…...
【Web - 框架 - Vue】随笔 - Vue CLI - 快速上手
Vue CLI 创建Vue CLI项目 【步骤】 命名项目空间:在电脑里创建文件夹,用于存储所有项目;定位项目空间:在"CMD窗口"里定位到工程的项目空间上; 方法1:(a)用"WINR"打开运行窗口&#x…...
JavaWeb开发——html、 jsp(html 、js 、java源码)
1.前后端整体合一 在页面上,包含界面和业务数据处理 2.前后端分离 项目整体上分成前端部分和后端部分,相互独立 Jquery的核心 选择器----找到需要操作的Dom读取或者设置DOM的值或者属性事件的处理 一、jQuery选择器 $("标签类型")$("…...
javascript事件大全
在JavaScript中,事件是用户和浏览器之间交互的桥梁。当某些特定的事情发生时(如用户点击按钮、鼠标移动、页面加载等),浏览器会触发相应的事件。这些事件可以被JavaScript代码捕获,并允许开发者执行某些操作。以下是一…...
太平医康养经理人是医疗资源的链接者
太平人寿通过构建资源整合平台,已成功将国际化医疗服务资源进行深度整合。目前,该公司已完成对英国著名医疗集团Circle Health在中国设立的首家医疗机构——圆和医疗的增资行动,并与新加坡知名的莱佛士私立综合医疗集团签订了业务合作协议。同…...
kafka(三)springboot集成kafka(1)介绍
基于kafka新版本 <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency> </dependencies> 一、kafkaProducer 1、介绍…...
Markdown语法与基础使用
在撰写博客、文档或者其他类型的文字内容时,Markdown语法是一种简洁、易读易写的标记语言,被广泛应用于互联网上的文本编辑和排版中。下面将介绍Markdown语法的基础使用方法,帮助你更好地利用Markdown来编写内容。 1. 标题 Markdown支持使用…...
【排序】七大排序表格比较
排序 时间复杂度 空间复杂度 最坏时间复杂度 最好时间复杂度 稳定性 插入排序 O(n) O(1) O(n) O(n) 稳定 希尔排序 O(nlogn)-O(n)取决于增量序列 O(1) O(n^1.3) O(nlogn) 不稳定 选择排序 O(n) O(1) O(n) O(n) 不稳定 冒泡排序 O(n) O(1) O(n) O(n…...
arcgis 栅格数据处理2——栅格转地级市(栅格转矢量图)
1. 获取空间分析权限(解决无法执行所选工具问题) 选中“自定义”中的“扩展模块” 在弹出的模块中选中能选的模块,此处需要选择“spatial analysis”以进行下一步分析 3. 将栅格数据转为整数型(解决无法矢量化) 选…...
unity学习(53)——选择角色界面--分配服务器返回的信息
好久没写客户端了,一上手还不太适应 1.经过测试,成功登陆后,客户端请求list_request,成功返回,如下图: 可见此时model第三个位置的参数是1.也成功返回了所有已注册角色的信息。 2.之前已知创建的角色信息…...
矩阵爆破逆向-条件断点的妙用
不知道你是否使用过IDA的条件断点呢?在IDA进阶使用中,它的很多功能都有大作用,比如:ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大,配合IDA-python的输出语句能够大杀特杀! 那么本文就介绍一下这个…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
