制作jre基础镜像
alpine简介
由于项目基于spring boot需要jre环境支撑,出于镜像大小考虑,若采用unbuntu或者centos作为基础镜像,会很大,在需要传输的场景中非常的不方便。
所以这里采用alpine作为基础镜像,alpine是一个轻量级的linux系统,镜像大小5M左右。

下载jre制作java项目运行环境
jdk大小200M左右
jdk大小70M+
#由于仅需要Java运行时,没有编译等需求,故这里选择体积较小的jre

由于是源码,需要解压、配置环境变量,但当我们解压后发现,解压后的包大约200+M,之前的努力全白费了感觉!!!
没关系我们删除一些不需要的内容,将下载后的jre上传至/root下,执行以下命令
mkdir -p /docker/jre
mv jre-8u171-linux-x64.tar.gz /docker/jre
cd /docker/jre
tar zxvf jre-8u171-linux-x64.tar.gz
mv jre1.8.0_171 jre
cd jre/
rm -rf ./lib/plugin.jar \
./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
#查看大小,107M
du -h /docker/jre
制作docker镜像
cd /docker/jre
cat >> Dockerfile <<EOF
FROM docker.io/jeanblanchard/alpine-glibc
ADD jre /usr/local/
ENV JAVA_HOME /usr/local/jre
ENV PATH ${PATH}:${JAVA_HOME}/bin
CMD ["java", "-version"]
EOF
#build
docker build -t cloud/jre:v1 .
#查看镜像,123M
docker images

#启动测试
docker run cloud/jre:v1

网友评论