使用定制的JRE最小化Docker镜像

18-10-26 banq
         

使用这种压缩定制办法,原来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