【问题标题】:Do spring boot apps need dockerization?spring boot 应用程序需要 dockerization 吗?
【发布时间】:2017-01-11 19:12:07
【问题描述】:

关于 spring boot 应用程序需要 dockerization 的任何建议?

通过 Dockerization 增加部署时间?

a. Spring boot app with docker then has to go with building image -> pushing to docker registry -> then pull from docker registry and at last running it.
b. whole process takes time and Continuos deployment is taking now time.

由于spring boot自带了内嵌的tomcat,不建议将可执行jar文件作为java -jar运行,而只需要部署主机上的JRE?

让我知道你对此的看法。

【问题讨论】:

    标签: java docker spring-boot continuous-deployment


    【解决方案1】:

    您的帖子包含几个问题,对我来说并不完全清楚。我基本上是在回答标题问题:

    spring boot 应用需要docker化吗?

    是的,确实有道理。您的 Spring Boot 应用程序仍然在操作系统上运行,安装了一些补丁,可能带有数据库、JRE、打开的端口和一堆其他需要配置的东西。

    那么,由于 x 原因,您在 LAB 中的设置可能与 Qualification 或 Production 中的设置不同:不同的操作系统、不同的主目录、环境变量、打开的端口、某些命令不'不能在环境 x 中工作,其他命令只能在 y 中工作......

    至少,将 Spring Boot 应用程序 Docker 化可以让您在在所有环境中使用相同的配置运行。如果开发人员能够在与错误发生位置完全相同的环境中运行,则从技术上讲更容易重现错误

    有趣的文章:how-to-deploy-spring-boot-applications-in-docker-containers:

    尽管 Spring Boot 简化了很多事情,但现实 部署微服务应用程序仍然很复杂。如果您将其与 RPM,您可能仍然需要处理依赖版本问题, 冲突的端口等。这就是不可变基础设施的来源 发挥作用。

    查看另一篇文章:https://dzone.com/articles/dockerizing-spring-boot-applications

    几个月前,我开始了一个名为 JVM 的新个人项目 旨在帮助波兰程序员传播新闻的博主 关于他们的新博客文章。最初这个 Spring Boot 应用程序是 托管在我的本地计算机上,然后我已将其迁移到免费帐户 Heroku。

    最初几周我很满意:申请不需要 24/7 在线所以每天睡 8 小时(免费 Heroku 的限制 帐户)不是一个大问题,500 MB的内存上限也没有限制我。 但是随着 JVM Bloggers 的成长,我开始遇到奇怪的问题 内存使用:应用程序开始消耗 500-550MB,非常 很难找到这种行为的根源。我什至离开了申请 在我的本地机器上运行并连接了探查器,但仍然没有 发现任何可疑的东西。

    内存占用问题变得烦人,因为我必须监控 应用程序并每 1-2 天重新启动一次,由于 Heroku 的性质,我 不能简单地通过 ssh 连接到服务器并调试或附加探查器到 运行过程。很明显,如果我要添加更多 JVM Bloggers 的功能我必须将其迁移到更多内容 灵活——带有 Docker 的 Linux 机器。

    【讨论】:

    • 很好的答案。您可能还依赖于系统范围内安装的数据库驱动程序,或者您的未 dockerized 设置被类路径中的全局库“污染”,这是您需要的,但从未正式化为依赖项。将其放入 docker 映像中,您可以确保所有依赖项都已正式化——在进入生产阶段时从头开始设置很重要——dockerizing 至少可以帮助你有效地做到这一点。
    • 感谢@Alex,我们有 spring boot dockerize,因为我们正在迁移到 Cloud,所有环境都有相同的操作系统,但我认为 dockerizing 应用程序仍然有意义。
    猜你喜欢
    • 2018-09-04
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2021-02-16
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多