X86、ARM架构镜像

1. 简介

ARM 镜像和 x86 镜像是为不同处理器架构设计的软件镜像。ARM(Advanced RISC Machine)架构和 x86 架构是两种主流的处理器指令集架构,它们在设计和性能特点上有所不同。以下是 ARM 镜像和 x86 镜像的一些主要区别:

  1. 处理器架构

    1. ARM 镜像:专为 ARM 处理器设计,这些处理器通常用于移动设备、嵌入式系统和一些服务器。ARM 架构以其低功耗和高效能而闻名。

    2. x86 镜像:为 x86 处理器设计,这些处理器广泛应用于个人电脑和服务器。x86 架构包括 Intel 和 AMD 的处理器。

  2. 操作系统支持

    1. 操作系统发行版通常会提供针对 ARM 和 x86 的不同版本。例如,Ubuntu、Debian 和 Fedora 都提供了 ARM 和 x86 版本的镜像。
  3. 软件兼容性

    1. 软件通常需要为不同的架构编译。因此,为 ARM 架构编译的软件可能无法在 x86 系统上运行,反之亦然。不过,有一些技术(如虚拟化和容器化)可以在一定程度上桥接这种差异。
  4. 性能和功耗

    1. ARM 处理器通常在低功耗下提供良好的性能,适合电池供电的设备。

    2. x86 处理器提供广泛的性能范围,从低功耗的 Atom 处理器到高性能的 Core i9 处理器。

  5. 生态系统

    1. x86 架构拥有更成熟的生态系统,特别是在桌面和服务器市场。

    2. ARM 架构在移动和嵌入式市场拥有强大的生态系统,并且正在逐渐扩展到服务器和数据中心市场。

  6. 开发和部署

    1. 开发人员可能需要为不同的架构准备不同的构建环境。

    2. 在部署应用程序时,需要确保选择的镜像与目标硬件架构兼容。

  7. Docker 镜像

    1. Docker 镜像可以为不同的架构标记不同的标签。例如,ubuntu:latest 通常指的是 x86 架构的镜像,而 arm64v8/ubuntu:latest 指的是 ARM 架构的镜像。

2. 拉取arm镜像

docker版本必须在19以上

1. Docker 配置

修改$HOME/.docker/config.json文件,加入如下配置开启:

bash 复制代码
vim  /root/.docker/config.json
{
        "auth" : {},
        "experimental": "enabled"
} 

启用

bash 复制代码
vim /etc/docker/daemon.json
{  
        "experimental": true
}

重启docker

bash 复制代码
systemctl daemon-reload
systemctl restart docker

2. 安装并设置了 QEMU 用户态二进制格式解释器

bash 复制代码
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

3. 拉取镜像

在dockerhub中搜索镜像,查看详情

  • ARCH是表示架构

查看到有arm架构的镜像,在服务器中拉取

bash 复制代码
docker pull --platform=arm64 redis:latest

3. 应用程序打包

  • Dockerfile文件修改:FROM openjdk:11.0.14.1-jdk-buster改为
bash 复制代码
FROM --platform=arm64 openjdk:11.0.14.1-jdk-buster
  • build命令修改:末尾加上--platform=linux/arm64
bash 复制代码
docker build -t "$(generate_image_id "$VERSION-$COMMIT")" . -f Dockerfile 
--platform=linux/arm64
  • 正常打包push

注:在arm架构系统中,不支持 . 或者一些指令开头的文件命令。

相关推荐
Xの哲學1 小时前
Linux二层转发: 从数据包到网络之桥的深度解剖
linux·服务器·算法·架构·边缘计算
yuguo.im1 小时前
Docker 两大基石:Namespace 和 Cgroups
运维·docker·容器
会飞的土拨鼠呀2 小时前
docker部署 outline(栗子云笔记)
笔记·docker·容器
Jelly-小丑鱼3 小时前
Linux搭建syslog日志服务器
linux·服务器·docker·日志服务器·syslog服务器
Hernon3 小时前
微服务架构设计 - 可降级设计
微服务·云原生·架构
漫长的~以后4 小时前
GPT-5.2深度拆解:多档位自适应架构如何重塑AI推理效率
人工智能·gpt·架构
lisanmengmeng4 小时前
docker 方式安装部署禅道zentao(五)
运维·docker·容器
龙亘川4 小时前
深度解析《2025 中国 RFID 无源物联网产业白皮书》:技术架构、开发实践与万亿级赛道机遇
物联网·架构
by__csdn5 小时前
微前端架构:从理论到实践的全面解析
前端·javascript·vue.js·架构·typescript·vue·ecmascript
程序员老赵5 小时前
AdguardHome Docker 容器化部署指南
docker·dns