You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu构建Docker镜像报错:no matching manifest for linux/arm/v7求助

问题解决:Docker构建openjdk:17-alpine时出现manifest不匹配错误

问题背景

在Ubuntu系统上构建演示应用Docker镜像时,遇到以下错误:

发送构建上下文至Docker守护进程 19.63MB
步骤1/3 : FROM openjdk:17-alpine
17-alpine: 从library/openjdk拉取
no matching manifest for linux/arm/v7 in the manifest list entries

使用的Dockerfile内容:

FROM openjdk:17-alpine
ADD demo-app-1.0.jar demo-app-1.0.jar
ENTRYPOINT [ "sh","-c","java -jar /demo-app-1.0.jar" ]

切换到openjdk:8-jdk-alpine可构建成功,但因依赖最新Spring版本需要使用JDK17。

解决方案

1. 替换为支持arm/v7架构的JDK17 Alpine镜像

官方openjdk:17-alpine镜像未提供linux/arm/v7架构的版本,可改用Eclipse Temurin的镜像,该镜像支持多架构(包括arm/v7):

修改Dockerfile的基础镜像:

FROM eclipse-temurin:17-alpine
ADD demo-app-1.0.jar demo-app-1.0.jar
ENTRYPOINT [ "sh","-c","java -jar /demo-app-1.0.jar" ]

然后重新执行构建命令:

docker build -t demo-app .

2. (备选)手动构建适配arm/v7的openjdk17-alpine镜像

如果必须使用官方openjdk镜像,可以基于alpine基础镜像自行编译JDK17,但过程较繁琐,步骤大致如下:

  • 基于alpine:latest创建Dockerfile
  • 在镜像中安装编译依赖(如gcc、make等)
  • 下载JDK17源码并编译适配arm/v7架构
  • 清理编译依赖,保留运行时所需文件

此方法耗时较长,仅推荐在无法使用第三方镜像时采用。

内容的提问来源于stack exchange,提问作者vaibhav1291

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 05:16:07