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文件中直接引用即可

到这里就算全部完成了 ,记录于此,方便日后查看,也和大家一起分享,希望能有帮助 谢谢!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐