一、制作最小jdk镜像
1、下载jre8:https://www.java.com/en/download/manual.jsp
2、删除多余文件
a、解压压缩包
$ tar -xvcf jre-8u181-linux-x64.tar.gz
b、删除多余文件
$ cd jre1.8.0_181/
$ 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
c、重新打包
$ tar zcvf jre8.tar.gz *
3、编写Dockerfile (将jre8.tar.gz与Dockerfile放在同一目录下)
FROM docker.io/jeanblanchard/alpine-glibc
MAINTAINER micheal
ADD jre8.tar.gz /usr/java/jdk/
ENV JAVA_HOME /usr/java/jdk
ENV PATH ${PATH}:${JAVA_HOME}/bin
WORKDIR /opt
4、构建镜像
$docker build -t jdk1.8-mini:v1 .
注意:按照此方法构建出的镜像会出现中文乱码的问题,解决办法参考:https://blog.csdn.net/zhuchuanwan/article/details/102957332;如果不关注中文乱码问题可以直接使用。
二、 构建springboot项目镜像
1、springboot项目打成jar包
2、编写Dockerfile(将jre8.tar.gz和search-demo.jar放在统一目录下)
FROM docker.io/jeanblanchard/alpine-glibc
MAINTAINER simon
ADD jre8.tar.gz /usr/java/jdk/
ENV JAVA_HOME /usr/java/jdk
ENV PATH ${PATH}:${JAVA_HOME}/bin
WORKDIR /opt
ADD search-demo.jar .
ENTRYPOINT ["java","-jar","./search-demo.jar"]
3、构建镜像
扫描二维码关注公众号,回复:
12608672 查看本文章
$docker build -t demo:v2 .
三、启动镜像
1、启动
docker run -d -p 8082:8080 demo:v2 sh
2、查看启动结果
$docker ps -a
启动成功: