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

笔记|M芯片MAC (arm64) docker上使用 export / import / commit 构建amd64镜像

很简单的起因,我的东西最终需要跑在amd64上,但是因为mac的架构师arm64,所以直接构建好的代码是没办法跨平台运行的。直接在arm64上pull下来的docker镜像也都是arm64架构。
检查镜像架构:

docker inspect 8135f475e221 | grep 'Architecture'

效果如下:

运行效果
先讲一下拉取amd64镜像的方法,因为拉取的时候默认是arm64:

docker pull --platform linux/amd64 ubuntu:18.04

这里以ubuntu镜像为例子,加上参数 --platform linux/amd64 即可,效果可以看一下:
效果图

在这里插入图片描述
接着一段文字描述:用该镜像起了一个简单的容器,里面安装一下vim lsof等命令,之后用以下两个命令进行导出导入,结果新的镜像则变成了arm64:

docker export 88888888 > 1.tar
cat 1.tar | docker import - my-ubuntu:18.04

新的镜像为arm64:
在这里插入图片描述

以下为解决方法
添加前置参数 DOCKER_DEFAULT_PLATFORM=linux/amd64 示例如下:

DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run -itd ubuntu:18.04 bash

然后去里面做你想做的事情,接下来是导出,和之前一致:

docker export 4956aba71840 > 1.tar

导入,需要注意:

cat 1.tar| DOCKER_DEFAULT_PLATFORM=linux/amd64 docker import - my-ubuntu:18.04

在这里插入图片描述
在这里插入图片描述
也可以尝试一下docker commit,commit命令会保留部分的元数据,但是不包括历史信息。亲测直接commit可以出amd64:
在这里插入图片描述

done.

http://www.lryc.cn/news/486727.html

相关文章:

  • gorm框架
  • 免费送源码:Java+Springboot+MySQL Springboot多租户博客网站的设计 计算机毕业设计原创定制
  • 【ASR技术】WhisperX安装使用
  • 【计算机网络】协议定制
  • 【SQL】mysql常用命令
  • 阿里云引领智算集群网络架构的新一轮变革
  • 几何合理的分片段感知的3D分子生成 FragGen - 评测
  • Python爬虫下载新闻,Flask展现新闻(2)
  • 监控易监测对象及指标之:全面监控华为FusionInsight服务
  • SQL面试题——蚂蚁SQL面试题 会话分组问题
  • nfs服务器--RHCE
  • React--》如何高效管理前端环境变量:开发与生产环境配置详解
  • Javascript高级—函数柯西化
  • Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
  • linux之调度管理(5)-实时调度器
  • mybatis-plus: mapper-locations: “classpath*:/mapper/**/*.xml“配置!!!解释
  • nacos-operator在k8s集群上部署nacos-server2.4.3版本踩坑实录
  • 面试篇-项目管理
  • 数仓建设之Oracle常见语法学习
  • 物联网智能技术的深入探讨与案例分析
  • python语言基础-5 进阶语法-5.2 装饰器-5.2.2 简单装饰器
  • TransFormer--解码器:带掩码的多头注意力层
  • 【ArcGIS微课1000例】0130:图层组详解与使用
  • Linux中配置ntp服务
  • 微服务day10-Redis面试篇
  • STL序列式容器之list
  • docker:基于Dockerfile镜像制作完整案例
  • 微信小程序自定义顶部导航栏(适配各种机型)
  • sslSocketFactory not supported on JDK 9+
  • [Codesys]常用功能块应用分享-BMOV功能块功能介绍及其使用实例说明