springboot需要jre环境支撑,处于镜像大小的考虑 如果使用jdk作为基础镜像,就会很大,在需要传输的场景中非常的不方便,所以这里采用alpine作为基础镜像,alpine是一个轻量级的linux系统,镜像大小5M左右。
一. 下载jre制作java项目运行环境
获取 alpine-jre:https://pan.baidu.com/s/10BVh2EDbjKlmBkw6krn55g
提取码:vff8
由于仅需要java运行时,没有编译要求,这里可以选择体积较小的jre来作为基础镜像,将下载的jre压缩包上传到linux系统下,并执行以下命令 :
1.新建一个文件夹,用于存放jre压缩包 以及将要解压的jre文件,
1.新建一个文件夹,用于存放jre压缩包 以及将要解压的jre文件,
mkdir jre
2.将jre压缩包移至新建的目录下
mv jre-8u121-linux-x64.tar.gz /user/local/jre/
3.进入到新建的目录下
cd /user/local/jre
4.将下载的jre解压缩
tar zxvf jre-8u121-linux-x64.tar.gz
5.给解压后的文件重命名
mv jre1.8.0_121 jre
6.进入新命名的文件下
cd jre
7.删除一些不需要的文件
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
8. 查看文件大小 107m
du -h jre
二.编辑Dockerfile文件
# 1. 退回到jre文件夹下
cd ..
# 2. 编辑 Dockerfile文件
cat >> Dockerfile <<EOF
FROM docker.io/jeanblanchard/alpine-glibc
ADD jre-8u121-linux-x64.tar.gz /usr/local/
ENV JAVA_HOME=/usr/local/jre1.8.0_121
ENV CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$PATH:JAVA_HOME/bin
EOF
# 开始构建镜像
docker build -t base/jre:v1 .
# 查看镜像
docker images
三.启动测试
docker run base/jre:v1
四.应用jre镜像
在jar包准备打成镜像Dockerfile文件中直接引用即可
到这里就算全部完成了 ,记录于此,方便日后查看,也和大家一起分享,希望能有帮助 谢谢!