参考: https://blog.csdn.net/qq_43059674/article/details/103356158
一、准备安装包
glibc-2.30-r0.apk
glibc-bin-2.30-r0.apk
glibc-i18n-2.30-r0.apk
jre-8u202-linux-x64.tar.gz
二、处理jre
tar -zxf jre-8u202-linux-x64.tar.gz
cd jre1.8.0_202
rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html
rm -rf lib/plugin.jar \
ibgstreamer-lite.so \
lib/amd64/libjavafx*.so \
lib/amd64/libjfx*.so> lib/ext/jfxrt.jar \
bin/javaws \
lib/javaws.jar \
lib/desktop \
plugin \
lib/deploy* \
lib/*javafx* \
lib/*jfx* \
lib/amd64/libdecora_sse.so \
lib/amd64/libprism_*.so \
lib/amd64/libfxplugins.so \
lib/amd64/libglass.so \
lib/amd64/libgstreamer-lite.so \
lib/amd64/libjavafx*.so \
lib/amd64/libjfx*.so
tar -zcf jre-8u202-linux-x64-small.tar.gz jre1.8.0_202
三、编写Dockerfile
FROM alpine:3.11
MAINTAINER ll "[email protected]"
ENV TZ=Asia/Shanghai
WORKDIR /opt/jdk
ADD jre-8u202-linux-x64.tar.gz /opt/jdk
COPY glibc-2.30-r0.apk /opt/jdk
COPY glibc-bin-2.30-r0.apk /opt/jdk
COPY glibc-i18n-2.30-r0.apk /opt/jdk
RUN echo http://mirrors.aliyun.com/alpine/v3.11/main/ > /etc/apk/repositories \
&& echo http://mirrors.aliyun.com/alpine/v3.11/community/ >> /etc/apk/repositories \
&& apk update && apk upgrade \
&& apk --no-cache add ca-certificates wget tzdata \
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
&& echo ${TZ} > /etc/timezone \
&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
&& apk add glibc-2.30-r0.apk glibc-bin-2.30-r0.apk \
&& rm -rf /var/cache/apk/* glibc-2.30-r0.apk glibc-bin-2.30-r0.apk glibc-i18n-2.30-r0.apk /var/cache/apk/* /tmp/* /var/tmp/* $HOME/.cache
ENV JAVA_HOME=/opt/jdk/jre1.8.0_202
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
CMD ["java","-version"]
docker built -t alpine-jre:8u202 .