首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dockerize Tomcat应用程序-最佳实践

Dockerize Tomcat应用程序-最佳实践
EN

Stack Overflow用户
提问于 2017-03-20 06:58:38
回答 1查看 1.4K关注 0票数 2

我有一个java应用程序,它目前运行在tomcat实例中。这个应用程序有类似3-6 (取决于使用)的网络应用程序。我想将这个应用程序打包到一个坞容器中来设置一个新的测试系统基础结构。

做这件事的最佳策略是什么?将每个even应用程序打包到一个基于tomcat的容器中,并将其绑定到(我希望这样做,但我不确定这是否可能?)或者有一个基于tomcat的容器,里面有所有的网络应用程序。

有人有这方面的经验吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 07:18:36

这取决于你想要什么--对于你想要的东西没有简单的答案。

我看到的选择是:

  • 一个容器中的所有内容:在构建映像时将所有WAR文件/目录复制到容器中,然后启动该文件/目录。这意味着您只需担心一个命令就可以启动/停止/重新启动操作,但也意味着所有应用程序共享相同的生命周期和相同的资源(CPU、JVM、线程池等)。
  • 另一种方法是运行类似Docker的操作,其中每个应用程序都有一个单独的映像,并启动一个单独的容器。使用,您可以将它们链接在一起,这样它们就可以相互看到,并且您可以根据需要启动/停止/重新启动/删除/重新创建它们。如果需要的话,您甚至可以进一步启动同一应用程序的多个实例--这将无法与其他方法一起工作。

正如您所看到的,每种方法都有其优点和缺点,这取决于您想要什么。第二种方法是每个应用程序只使用一个图像/容器,它更灵活,但需要更多的配置,而且开销更大,因为您将运行6个Tomcat实例而不是一个实例。

不管它的价值如何,我使用第二种方法来处理我的用例。我有一个基本的Tomcat图像,在所有应用程序之间共享,它基于官方的Docker图像,并添加了一些常见的东西。然后,每个应用程序都有自己的图像和额外的配置,然后我使用Docker将其全部拉到一起。

如果您不关心增加的灵活性,并且所有的应用程序都有相同的生命周期,那么第一种方法也可能有效--这完全取决于您想要做什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42897515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档