x86平台运行arm64平台docker 镜像

2023-11-14

    本文介绍在x86服务器上安装qemu-aarch64-statick仿真器,以实现x86服务器可以运行docker或docker-compose镜像。

报错信息:

x86服务器默认不能运行ARM平台镜像,会提示如下错误:

	WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested

解决方法:

在x86服务器安装运行qemu-aarch64-statick,qemu-aarch64-statick是一个可以利用当前操作系统来运行其它架构的仿真器。
注:qemu-aarch64-statick方式模拟arm平台运行容器,性能较差,对性能要求较高的生成业务不建议使用。

一. 安装qemu-aarch64-statickd

#下载qemu-aarch64-static
wget https://github.com/multiarch/qemu-user-static/releases/download/v5.2.0-1/qemu-aarch64-static

#移动并添加执行权限
cp qemu-aarch64-static /usr/bin/ 
chmod +x /usr/bin/qemu-aarch64-static

#注册qemu-user-static虚拟机,注:此命令是临时命令,服务器每次启动后都需要重新运行一次。
docker run --rm --privileged multiarch/qemu-user-static:register --reset

注册成功
在这里插入图片描述

二. 测试示例

2.1 docker运行arm平台容器
#运行一个arm架构nginx
docker run -d --platform arm64 -p 80:80 -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static --name nginx-arm dockerproxy.com/library/nginx:latest

下面两个参数必选添加:

  • “–platform”: 指定拉取ARM架构容器,默认拉取自己当前 CPU 平台的镜像。
  • "-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static " 启动容器时将 qemu-aarch64-static带入到容器
2.2 docker-compose运行arm平台容器
# vi docker-compose.yml
version: '3'  
services:  
  nginx-arm:  
    image: dockerproxy.com/library/nginx:latest  
    platform: arm64       #指定容器运行的平台
    ports:  
      - 80:80  
    volumes:  
      - /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static   #启动容器时将 qemu-aarch64-static带入到容器

三. 系统架构查询方法

#查看镜像使用的平台
docker inspect nginx:latest | grep -i 'architecture'

#查看容器使用的平台
docker run -t -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static nginx:latest uname -m

#查看本机使用的平台
uname -m

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

x86平台运行arm64平台docker 镜像 的相关文章

随机推荐

  • C语言 从键盘上依次输入20个数据,输出最大值和最小值,并统计正数和负数的个数。

    C语言 从键盘上依次输入20个数据 输出最大值和最小值 并统计正数和负数的个数 代码 include
  • nvm的介绍和常用命令

    一 介绍 nvm Node Version Manager 是一个用于管理多个Node js版本的工具 它允许你在同一台机器上安装和切换不同的Node js版本 以下是nvm的一些详细介绍 安装和配置 你可以从nvm的GitHub仓库中下载
  • 数据分析和可视化平台:Splunk Enterprise for mac v9.1.1激活版 兼容m1

    Splunk Enterprise 是一个数据分析和可视化平台 可帮助企业理解其数据 虽然没有适用于 Mac OS 的 Splunk Enterprise 官方版本 但他们确实为 Mac OS 提供了一个名为 Splunk Light 的应
  • 刷题之二分查找

    题目 给定一个 n 个元素有序的 升序 整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target 如果目标值存在返回下标 否则返回 1 来源 力扣 LeetCode 链接 https leetcode c
  • 2019超分辨综述

    论文地址 Deep Learning for Image Super resolution A Survey 摘要 图像超分辨率 SR 是一类重要的图像处理技术 旨在提高计算机视觉中图像和视频的分辨率 近年来 目睹了使用深度学习技术的图像超
  • 数据库中的blob是什么类型?

    BLOB binary large object 二进制大对象 是一个可以存储二进制文件的容器 在计算机中 BLOB常常是数据库中用来存储二进制文件的字段类型 BLOB是一个大文件 典型的BLOB是一张图片或一个声音文件 由于它们的尺寸 必
  • vulnstack-ATT&CK实战系列 红队实战(一)

    vulnstack ATT CK实战系列 红队实战 一 前言 在此次攻击过程中 需要用到cobalt strike内网渗透工具 而此软件的破解版在国内还是很难找到的 这里有一个扩展阅读 此次事件互联网上简称为contiLeaks 其中就有C
  • python学习练习题

    文章目录 前言 python简单题目学习 python简单题目学习 1 最小公倍数和最大公约数 2 水仙花数 100 1000 3 百钱百鸡问题 4 猜数字游戏 5 三局两胜猜拳游戏 6 CPAPS赌博游戏 总结 前言 光看知识点不练习终究
  • 全球及中国家政服务产业前景建议与运营盈利分析报告2022版

    全球及中国家政服务产业前景建议与运营盈利分析报告2022版 修订日期 2022年2月 出版单位 鸿晟信合研究院 对接人员 周文文 内容分析有删减 了解详情可查看咨询鸿晟信合研究院专员 目录 第一章 家政服务行业基本概述 第二章 国际家政服务
  • java基础--向上转型

    为什么要用向上转型 因为为了让方法复用 只写一个以父类为形参的方法即可 不然形参为子类的话 每个子类都要单独写一个方法 那该多麻烦啊 只不过向上转型会丢失子类的特有方法 向下转型是强转 可使用instance判断 用来调用子类的特有方法 c
  • 【算法】二叉树广度优先(BFS)

    二叉树广度优先遍历 Depth First Search 这个算法是逐层遍历的 是从上到下 从左到右依次遍历 知道全部节点都被遍历完为止 由于需要记录每一层的节点 所以需要记录其对应的父节点的子节点 同时具有顺序性 为此需要使用队列来装遍历
  • 【记录】Django重复三步

    Step1 修改models py Step2 执行命令python manage py makemigrations app name Step3 再执行命令python manage py migrate 1 激活虚拟环境 启动服务器
  • Nginx 安装成功后,无法访问到默认页面

    安装 Nginx 后 无法访问到 Nginx 页面 1 查看 Nginx 是否启动成功 ps ef grep nginx 2 查看默认80端口是否分配给 Nginx netstat ntlp 如果前面几步都是正常的 则可以判断出是防火墙将8
  • 【SpringCloud-学习笔记】Docker基本操作

    1 镜像相关命令 镜像名称一般分两部分组成 repository tag 在没有指定tag时 默认是latest 代表最新版本的镜像 2 镜像操作命令 3 案例 从DockerHub中拉取一个nginx镜像并查看 首先去镜像仓库搜索ngin
  • 关于rfind

    rfind全名reversefind 与find相反 size type rfind const basic string str size type index size type rfind const char str size ty
  • Java面向对象编程

    下列关于线性链表的叙述中 正确的是 A 各数据结点的存储空间可以不连续 但它们的存储顺序与逻辑顺序必须一致 B 各数据结点的存储顺序与逻辑顺序可以不一致 但它们的存储空间必须连续 C 进行插入与删除时 不需要移动表中的元素 D 以上说法均不
  • IDEA 回退GIT代码

    IDEA 回退GIT代码 我们代码平时在IDEA开发完成后 提交代码到远程仓库的流程为 我们在提交代码到远程仓库的时候难免会发生提交了错误代码 要回滚到上个版本的情景 根据上面的流程我整理了一下三个场景的解决方案 1 idea中git回退已
  • 个人隐私问题

    近日 某高校毕业生在校期间窃取学校内网数据 收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注 在大数据时代 算法分发带来了隐私侵犯 在享受消费生活等便捷权利的同时 似乎又有不少个人信息泄露的担忧 用隐私换便利
  • mybatisplus分页总是查到全部数据?

    这是因为版本的问题 在3 4 1及以上需要配置过滤器以实现分页 分页代码 gt Test void contextLoads6 Page
  • x86平台运行arm64平台docker 镜像

    本文介绍在x86服务器上安装qemu aarch64 statick仿真器 以实现x86服务器可以运行docker或docker compose镜像 报错信息 x86服务器默认不能运行ARM平台镜像 会提示如下错误 WARNING The