Spring boot images调优/缩小尺寸

用SpringBoot 构建完images后发现文件比较大达到500多M,dockerfile如下

# 基于openjdk 镜像
FROM java:7
# 声明需要暴露的端口
EXPOSE 8081
# 将本地文件夹挂在到当前容器,指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat默认使用/tmp作为工作目录。
# 这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp
# 复制文件到容器,表示把文件拷入docker ,并改名成 app.jar
ADD ltfxpos.jar app.jar
# 配置容器启动后执行的命令,
RUN sh -c 'touch /app.jar'
#JAVA_OPTS中可以加一些参数,如果配置了多环境,可以加"-Dspring.profiles.active=prod"
ENV JAVA_OPTS=""
#表示使用指定命令在镜像运行时执行,启动jar。表示使用指定命令在镜像运行时执行,启动jar。
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

用history命令查看

docker history springboot/ltfxpos

发现是java 7比较大,基本网上都是用的java 8,不过因为历史原因项目用的jdk1.7

Docker关键概念

有四个关键的Docker概念:图像、层、DockerFile和Docker缓存。简单地说,

dockerfile描述了如何构建docker映像。

图像由若干层组成。dockerfile从一个基础图像开始,并添加了额外的层。当新内容添加到图像中时,将生成一个新层。

构建的每个层都被缓存,以便在后续构建中重用。当Docker构建运行时,它将重新使用缓存中的任何现有层。这减少了每次构建所需的总时间和空间。任何已更改或以前未创建的内容都将根据需要进行创建。

 

 

 

 

用单层镜像方法优化Docker中的Springboot

docker springboot项目镜像优化

Docker优化Springboot应用程序

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页