使用这种压缩定制办法,原来490mb的SpringBoot应用程序Docker镜像,通过创建自定义 JRE 可以减少到162MB。
1.下载 JDK 11
2.安装JDK 11:
sudo yum install jdk-11.0.1_linux-x64_bin.rpm
3.为Spring Boot应用创建定制的JRE:
cp target/app.war target/app.jar jlink / --output myjre / --add-modules $(jdeps --print-module-deps target/app.jar),/ java.xml,jdk.unsupported,java.sql,java.naming,java.desktop,/ java.management,java.security.jgss,java.instrument
4.使用定制的JRE构建Docker image :
docker image build --file Dockerfile.jre -t arungupta/greeting:jre-slim .
5.列出Docker镜像并显示大小差异:
[ec2-user@ip-172-31-21-7 app]$ docker image ls | grep greeting arungupta/greeting jre-slim 9eed25582f36 6 seconds ago 162MB arungupta/greeting latest 1b7c061dad60 10 hours ago 490MB
6.运行容器:
docker container run -d -p 8080:8080 arungupta/greeting:jre-slim
7.访问应用程序::
curl http://localhost:8080/hello