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

Docker构建Ubuntu镜像安装OpenJDK报错及Maven命令找不到问题求助

问题排查与解决方案

1 Ubuntu 16.04 基础镜像构建失败原因

  • Ubuntu 16.04 属于*已终止生命周期(EOL)*的发行版本,官方默认源已从archive.ubuntu.com迁移至old-releases.ubuntu.com,且你使用的webupd8team/java等第三方PPA早已停止维护下线,因此会出现PPA密钥拉取超时、软件包下载超时的报错,不建议继续使用该镜像作为基础镜像。

2 openjdk:8 基础镜像mvn不存在报错原因

openjdk:8 默认基于Debian发行版,出现mvn: not found的核心原因是apt-get install -y maven步骤实际未执行成功:

  • 默认Debian官方源在国内访问速度极慢,容易出现断连超时,导致maven包未正常安装完成,多步拆分的apt-get update操作会命中部分缓存,掩盖了实际安装失败的报错。

3 最优可用Dockerfile方案

直接使用官方预装JDK8与Maven的镜像作为基础,无需自行安装JDK和Maven,彻底规避源访问问题:

# 官方预装jdk8和maven的基础镜像
FROM maven:3.8-jdk-8
LABEL "Maintainer"="AdityaGoel"
# 合并安装其他依赖,清理apt缓存减小镜像体积
RUN apt-get update && apt-get install -y --no-install-recommends \
    iputils-ping \
    vim \
    default-mysql-client \
    && rm -rf /var/lib/apt/lists/*
# 配置工作目录
WORKDIR /usr/local/docker-git-helloworld
ADD . .
RUN mvn assembly:assembly
# 启动命令
CMD ["java", "-cp", "/usr/local/docker-git-helloworld/target/docker-git-helloworld-1.0-SNAPSHOT-jar-with-dependencies.jar", "dockerLearn.TestFile"]

补充优化说明:

  • 合并所有apt安装命令,执行结束后删除apt缓存,可大幅减小最终镜像体积
  • 使用WORKDIR指令替代手动执行cd命令,符合Dockerfile编写规范

4 需自行安装依赖的临时解决方案

如果必须基于openjdk:8自行安装所有软件,可在安装前替换为国内apt源解决下载超时问题,示例如下:

FROM openjdk:8
LABEL "Maintainer"="AdityaGoel"
# 替换为国内阿里Debian源,解决依赖下载超时问题
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \
    && sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \
    && apt-get update \
    && apt-get install -y --no-install-recommends \
    software-properties-common \
    iputils-ping \
    vim \
    default-mysql-client \
    maven \
    && rm -rf /var/lib/apt/lists/*
ADD . /usr/local/docker-git-helloworld
RUN cd /usr/local/docker-git-helloworld && mvn assembly:assembly
CMD ["java", "-cp", "/usr/local/docker-git-helloworld/target/docker-git-helloworld-1.0-SNAPSHOT-jar-with-dependencies.jar", "dockerLearn.TestFile"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:39:03