From d5565ed458538ac98b65c26cef05432b78a94f61 Mon Sep 17 00:00:00 2001 From: herryyun <3209851541@qq.com> Date: Thu, 11 Sep 2025 09:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0d23ce1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +FROM alibabadragonwell/dragonwell:21 + +# Gradle版本作为构建参数 +ARG GRADLE_VERSION=8.5 +ENV GRADLE_VERSION=${GRADLE_VERSION} +ENV GRADLE_HOME=/opt/gradle +ENV PATH=$PATH:$GRADLE_HOME/bin +ENV JAVA_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -XX:+UseElasticHeap" +ENV GRADLE_OPTS="-Xmx2g -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0" + +# 安装必要工具 +RUN microdnf update && \ + microdnf install -y wget unzip && \ + microdnf clean all + +# 下载并安装Gradle (使用变量) +RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp && \ + unzip -q /tmp/gradle-${GRADLE_VERSION}-bin.zip -d /opt && \ + mv /opt/gradle-${GRADLE_VERSION} $GRADLE_HOME && \ + rm /tmp/gradle-${GRADLE_VERSION}-bin.zip + +# 创建gradle用户和目录 +RUN groupadd -r gradle && useradd -r -g gradle gradle && \ + mkdir -p /home/gradle/.gradle && \ + chown -R gradle:gradle /home/gradle + +# 复制Gradle配置文件到正确位置 +COPY config/gradle-init.gradle /home/gradle/.gradle/init.gradle +COPY config/gradle.properties /home/gradle/.gradle/gradle.properties + +# 确保文件权限正确 +RUN chown -R gradle:gradle /home/gradle/.gradle + +# 设置工作目录 +WORKDIR /workspace + +# 预热Gradle (可选) +COPY config/sample-build.gradle.kts /tmp/build.gradle.kts +RUN cd /tmp && \ + gradle --version && \ + gradle help --no-daemon && \ + rm -rf /tmp/* + +# 切换到gradle用户 +USER gradle + +# 验证安装 +RUN java -version && gradle --version + +# 默认命令 +CMD ["gradle", "--version"] \ No newline at end of file