首页 > 其他分享 >x86机器上运行arm64 docker

x86机器上运行arm64 docker

时间:2023-11-12 19:33:41浏览次数:33  
标签:bin x86 aarch64 static arm64 docker qemu usr

Docker Hub 上可以找到各种非 x86_64 平台的镜像,但是在x86上直接运行会报错:

panic: standard_init_linux.go:175: exec user process caused “exec format error” [recovered]

在 x86_64 平台上缺少运行 arm32v7 的 Python 解释器所需要的“环境依赖”,值得庆幸的是在 Linux 上我们可以用 QEMU 来做到跨平台运行,QEMU 的 User-mode emulation 对于容器技术来说是最适合的模式。

https://juejin.im/post/5af86fb15188251b8015c102

步骤
在 https://github.com/multiarch/qemu-user-static/releases 下载qemu-xxx-static文件,注意要根据自己平台选择,如arm64是qemu-aarch64-static,arm32是qemu-arm-static,选错文件后面的步骤会失败。
拷贝文件
sudo cp qemu-aarch64-static /usr/bin/
chmod +x /usr/bin/qemu-aarch64-static
1
2
运行命令
docker run --rm --privileged multiarch/qemu-user-static:register
1
这个提示可以忽略:
Setting /usr/bin/qemu-alpha-static as binfmt interpreter for alpha
sh: write error: Invalid argument

运行docker
docker run -it -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static arm64v8/ubuntu
————————————————
版权声明:本文为CSDN博主「xiang_freedom」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiang_freedom/article/details/92724299

标签:bin,x86,aarch64,static,arm64,docker,qemu,usr
From: https://www.cnblogs.com/cnhk19/p/17827632.html

相关文章

  • docker 部署 rabbitmq集群
    rabbitmq集群:pull:dockerpullrabbitmq普通模式(默认):what:集群中各节点有相同的队列结构,但消息只会存在于集群中的一个节点。对于消费者来说,若消息进入A节点的Queue中,当从B节点拉取时,RabbitMQ会将消......
  • 脚本安装docker和docker-composed
    该脚本支持centos7和centos8系统#!/bin/bash#一键安装docker-ce和docker-compose,本脚本适用于CentOS7和8functionos7_install_docker(){rpm-qa|grepdocker&>/etc/nullif[$?-ne0]thenecho"开始安装docker..."#step1:安装必要的一些系统工具......
  • Docker容器基础学习
    Docker的基本概念镜像(Image),容器(Container)和仓库(Repository)。镜像(Image):Docker镜像是一个只读的模板,可以用来创建Docker容器。它包含一个完整的操作系统环境,里面可以安装运行应用程序所需的所有内容,包括代码、运行时环境、系统工具、系统库和设置。镜像是通过联合文件系统(Unio......
  • 如何使用docker编排生产环境?
    在生产环境中使用Docker编排,可以通过DockerCompose或Kubernetes这两种主要的工具实现。DockerCompose:DockerCompose是一个用于定义和运行多容器Docker应用程序的工具。它使用YAML文件定义应用程序的服务、网络和卷,并通过一个命令运行整个应用程序。以下是使用Docker......
  • Docker容器报权限不足,如何配置权限?
    当Docker容器报告权限不足时,可能是由于容器内部的用户与主机操作系统的用户不匹配导致的。解决这个问题的一种常见方法是在容器内部设置适当的用户和权限。以下是几种配置容器权限的方法:在Dockerfile中配置用户和权限:你可以在Dockerfile中使用USER和RUN命令来配置容器内......
  • phpstorm中配置docker远程解释器?
    要在PhpStorm中配置Docker远程解释器,请按照以下步骤进行操作:1.首先,确保你已经在本地安装了Docker。你可以在终端执行docker--version来确认Docker是否已成功安装。在PhpStorm中,打开项目并进入"Settings/Preferences"菜单。在Windows或Linux上,菜单位于"File"->......
  • 安装本地化docker registry,使其他机器能够发布容器
    sudodockerpullregistry:latestdockerrun-d-p5000:5000--nameregistryregistry:latest http://localhost:5000/v2/_catalog, 检查运行成功此时在子机3号上访问:http://192.168.170.130:5000/v2/_catalog,  ......
  • 自制x86 Bootloader开发笔记(3)——— 进入长模式
    前言本项目是基于IA32架构架构(32位Intel架构)的,而IA32架构有以下的操作模式:实模式、保护模式、虚拟8086模式和系统管理模式。这些模式被称为传统模式。实模式是计算机刚启动时的模式,在实模式下可以随意访问可用的内存地址,实模式比较简单直接,但是随着操作系统的发展,实模式这......
  • 部署 cri-dockerd
    下载cri-dockerdwgethttps://github.com/Mirantis/cri-dockerd/releases/download/v0.3.7/cri-dockerd-0.3.7.amd64.tgz解压cri-dockerdtarxfcri-dockerd-0.3.7.amd64.tgzcdcri-dockerd安装cri-dockerdinstall-oroot-groot-m0755cri-dockerd/usr/local/bin/c......
  • 如何在IDEA中实现快速将项目部署在docker上?
    Linux系统端1、安装docker,此过程略。附上在阿里云服务器上部署docker和docker-compose的链接:如何部署并使用Docker_云服务器ECS-阿里云帮助中心(aliyun.com)2、安装完docker后,随便找一个目录(本例的路径是/ocos/docker/cert,也可以选其他的路径,下面要用)创建安全连接docker所需的......