springboot 参考文献_优化Docker中的Spring Boot应用:双层镜像方法

本文探讨双层方法比单层方法具有具体的好处,并且这些好处是以迭代开发环境中的效率形式出现的。在优化Docker中的Spring Boot应用:单层镜像方法中,我们介绍了为Spring Boot应用构建Docker镜像的单层方法及其对CI/CD的影响。我提出了双层方法比单层方法有更大的好处,并且这些好处可以提高开发环境中的迭代效率。

在这里,我们介绍一种使用Open Liberty中的新工具springBootUtility,为现有Spring Boot应用创建双层Docker镜像。目前有多种方法可以为Spring Boot应用创建多层Docker镜像,但是本文方法的重点是从现有应用创建双层镜像,而不是更改maven或gradle构建步骤。

双层方法

在双层方法中,我们构建这样的Docker镜像:以使Spring Boot应用的依赖存在于应用代码下方的一层中。通过将不经常更改的依赖推入一个单独的层,并且仅将应用类保留在顶层,这样迭代重建和重新部署就会更快。

03430b170078c6cb4ae264f7948f261d.png

为了做到这一点,我们需要一种将Spring Boot应用拆分为这些独立组件的工具,例如:springBootUtility。

springBootUtility

springBootUtility是Open Liberty中的新工具,它将把Spring Boot应用分为两部分:依赖库(例如Spring Boot启动程序和其他第三方库)以及应用代码。依赖库放置在缓存中,应用代码用于构造一个精简后的应用程序。精简后的应用程序包含一个文件,该文件引用类路径上所需的库。然后可以将此精简应用程序部署到Open Liberty,它将从库缓存中生成完整的类路径。

Docker多阶段构建

用于构建双镜像层的Dockerfile,可以使用多阶段构建。多阶段构建允许单个Dockerfile创建多个镜像,其中一个镜像的内容可以复制到另一个镜像中,从而丢弃临时内容。这使你可以大幅度减小最终镜像的大小,而无需涉及多个Docker文件。我们使用此功能在Docker构建过程中拆分Spring Boot应用。

Docker镜像

Docker镜像可以使用带有Open J9和 Open Liberty的Open JDK。Open JDK为开源Java技术提供了坚实的基础。与 Open JDK附带的默认Java虚拟机相比, Open J9 带来了一些性能改进。Open Liberty是一个多程序模型运行时ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值