Dockerfile制作Java Maven编译

半兽人 发表于: 2025-11-10   最后更新时间: 2025-11-10 10:54:30  
{{totalSubscript}} 订阅, 47 游览

可直接编译 Java 项目的基础环境:

包括:

  • Ubuntu 25.10(amd64)
  • 中文 + 上海时区
  • JDK 8u471
  • Maven 3.9.9(最新版稳定版)
  • 清晰的中文注释和最小体积优化
# ------------------------------------------------------------
# 基础镜像:Ubuntu 25.10(amd64)
# ------------------------------------------------------------
FROM --platform=linux/amd64 ubuntu:25.10

# ------------------------------------------------------------
# 安装基础工具和时区配置
# ------------------------------------------------------------
RUN apt-get update && apt-get install -y --no-install-recommends \
        ca-certificates \
        curl \
        tar \
        tzdata \
    # 设置时区为上海
    && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && dpkg-reconfigure -f noninteractive tzdata \
    # 清理缓存减少体积
    && rm -rf /var/lib/apt/lists/*

# ------------------------------------------------------------
# 安装并配置中文环境
# ------------------------------------------------------------
RUN apt-get update && apt-get install -y locales \
    && locale-gen zh_CN.UTF-8 \
    && update-locale LANG=zh_CN.UTF-8 \
    && rm -rf /var/lib/apt/lists/*

ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN:zh
ENV LC_ALL=zh_CN.UTF-8

# ------------------------------------------------------------
# 安装 JDK 8u471
# ------------------------------------------------------------
WORKDIR /usr/local
COPY jdk-8u471-linux-x64.tar.gz /tmp/
RUN tar -xzf /tmp/jdk-8u471-linux-x64.tar.gz -C /usr/local/ \
    && mv /usr/local/jdk1.8.0_471 /usr/local/jdk \
    && rm -rf /tmp/*
ENV JAVA_HOME=/usr/local/jdk
ENV PATH=$JAVA_HOME/bin:$PATH

# ------------------------------------------------------------
# 安装 Maven(使用官方二进制包)
# ------------------------------------------------------------
ENV MAVEN_VERSION=3.9.9
WORKDIR /usr/local
RUN curl -fsSL https://downloads.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz -o maven.tar.gz \
    && tar -xzf maven.tar.gz \
    && mv apache-maven-${MAVEN_VERSION} /usr/local/maven \
    && rm -f maven.tar.gz
ENV MAVEN_HOME=/usr/local/maven
ENV PATH=$MAVEN_HOME/bin:$PATH

# ------------------------------------------------------------
# 验证 JDK 与 Maven 是否安装成功
# ------------------------------------------------------------
RUN java -version && javac -version && mvn -version

# ------------------------------------------------------------
# 默认工作目录
# ------------------------------------------------------------
WORKDIR /workspace

# ------------------------------------------------------------
# 启动容器默认命令
# ------------------------------------------------------------
CMD ["bash"]

构建与测试命令模板

# 1. 构建镜像
docker build -t ubuntu-jdk8-maven:latest .

# 2. 启动并进入容器
docker run -it --rm ubuntu-jdk8-maven:latest

# 3. 验证(容器内执行)
java -version
mvn -version
locale
date
更新于 2025-11-10
在线,3小时前登录

查看Dockerfile更多相关的文章或提一个关于Dockerfile的问题,也可以与我们一起分享文章