添加 Dockerfile
This commit is contained in:
51
Dockerfile
Normal file
51
Dockerfile
Normal file
@@ -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"]
|
||||
Reference in New Issue
Block a user