1 min read

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

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