Kylin v10 镜像构建JAVA应用基础镜像

目录结构
# tree -L 1 openjdk-21/
openjdk-21/
|-- Dockerfile
|-- OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz
|-- openjdk.sh
|-- simhei.ttf
|-- simsun.ttc
`-- tini
0 directories, 6 files
- Dockerfile
FROM kylin-server-v10-sp3:202405
LABEL maintainer="Qiu Shuhui<shuhui@vqiu.cn>" \
VERSION="21.0.7+6"
ENV TZ="Asia/Shanghai"
ARG user=vqiu
ARG group=vqiu
ARG uid=1000
ARG gid=1000
ARG APP_HOME=/app
ARG PKG=OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz
ENV APP_HOME $APP_HOME
ENV JAVA_OPTS "-server -Djava.security.egd=file:/dev/./urandom"
COPY $PKG /tmp/
COPY simhei.ttf /usr/share/fonts/chinese/
COPY simsun.ttc /usr/share/fonts/chinese/
COPY tini /sbin/tini
COPY openjdk.sh /etc/profile.d/
RUN set -xe \
&& yum -y install fontconfig curl tar \
&& tar axvf /tmp/$PKG -C /usr/local \
&& echo "Asia/Shanghai" > /etc/timezone \
&& chmod +x /sbin/tini \
&& fc-cache \
&& rm -rf /var/cache/yum/* \
&& rm -rf /tmp/$PKG \
&& groupadd --gid $gid $group \
&& useradd --uid $uid --gid $gid $user \
&& install -g $user -o $group -d $APP_HOME \
&& ln -svf /usr/local/jdk-21.0.7+6/bin/java /usr/bin/java
USER $uid
WORKDIR $APP_HOME
ENTRYPOINT ["/sbin/tini", "--"]
#CMD java -XX:InitialRAMPercentage=80.0 -XX:MinRAMPercentage=80.0 -XX:MaxRAMPercentage=80.0 -jar /app.jar"
后续应用构建
FROM openjdk-kylin-v10:21.0.7
COPY --chown=1000:1000 target/app.jar /app/app.jar
CMD java $JAVA_OPTS -XX:InitialRAMPercentage=80.0 -XX:MinRAMPercentage=75.0 -XX:MaxRAMPercentage=75.0 -jar /app/app.jar