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

Docker构建报错:无法找到java-1.8.0-openjdk-devel与tomcat匹配包

问题解决:Docker构建时yum安装Java和Tomcat失败

问题原因

你使用的amazonlinux:latest是Amazon Linux 2023镜像,该版本的软件仓库结构、包名与旧版Amazon Linux 2差异较大,原Dockerfile中指定的java-1.8.0-openjdk-devel和tomcat包在其默认仓库中不存在,导致安装命令返回错误。

解决方案

方案1:切换到Amazon Linux 2镜像(推荐)

Amazon Linux 2的默认仓库包含你需要的两个包,直接修改Dockerfile的基础镜像即可:

修改后的Dockerfile:

# 使用Amazon Linux 2基础镜像
FROM amazonlinux:2
# 安装Java和Tomcat
RUN yum -y install java-1.8.0-openjdk-devel tomcat
# 复制Web应用文件
COPY jenkins.war /usr/share/tomcat/webapps/
# 设置工作目录
WORKDIR /usr/share/tomcat
# 暴露Tomcat端口
EXPOSE 8082
# 启动Tomcat
CMD ["catalina.sh", "run"]

方案2:适配Amazon Linux 2023

若必须使用Amazon Linux 2023,需调整包安装方式:

  1. Java 8的包在AL2023中仍可通过java-1.8.0-openjdk-devel安装,但Tomcat需要从额外仓库获取。
  2. 可以通过amazon-linux-extras启用Tomcat仓库,或安装EPEL仓库后再安装Tomcat。

修改后的RUN命令示例(使用amazon-linux-extras):

RUN yum -y install java-1.8.0-openjdk-devel && \
    amazon-linux-extras install -y tomcat && \
    yum clean all

若amazon-linux-extras中无Tomcat,改用EPEL仓库:

RUN yum -y install java-1.8.0-openjdk-devel https://dl.fedoraproject.org/pub/epel/epel-release-latest-2023.noarch.rpm && \
    yum -y install tomcat && \
    yum clean all

注意:AL2023中Tomcat的安装路径可能与Amazon Linux 2不同,需确认/usr/share/tomcat是否存在,若路径变化,需同步修改COPY和WORKDIR指令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:40:17