docker打包springboot项目镜像依赖基础镜像jre
因为在DockerHub上面下载的jdk镜像都比较大!java运行只需要有jre环境就可以,所以可以简化,直接依赖jre镜像
1、下载jre的jre-8u291-linux-x64.tar.gz包
网址:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
a、解压
tar -zxvf jre-8u291-linux-x64.tar.gz
b、重命令目录(可以不改)
mv jre1.8.0_291 jre8
c、进入重命名目录下
cd jre8
d、再次简化,删除不必要文件
rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html
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
f、退回到jre8目录下
cd ..
2、制作jre8镜像
a、编写Dockerfile文件
vi Dockerfile
##写入下面内容
FROM docker.io/frolvlad/alpine-glibc
COPY jre8/ /usr/local/jre
ENV JAVA_HOME /usr/local/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
b、构建镜像(必须在Dockerfile相同目录下执行)
docker build -t jre:8 .
3、制作springboot项目镜像
a、编写Dockerfile文件
vi Dockerfile
FROM jre:8
ADD amtout.jar amtout.jar
EXPOSE 30046
ENTRYPOINT ["java","-Xms512m","-Xmx512m","-jar","amtout.jar"]
b、构建镜像
docker build -t amtout .
4、测试
docker run - p8080:8080 amtout
项目启动成功