我有一个java应用程序,它当前在tomcat实例中运行。此应用程序具有3-6(取决于使用)webapps。我想将此应用程序打包到docker容器中以设置新的测试系统基础结构。
这样做的最佳策略是什么?将每个webapp打包到一个基于tomcat的容器中并用docker-compose绑定(我更喜欢但我不确定这是否可能?)或者有一个基于tomcat的容器,其中包含所有webapps。
有没有人有经验呢?
答案 0 :(得分:1)
这取决于你想要什么 - 对于你正在寻找的东西没有简单的答案。
我看到的选项是:
正如您所看到的,每种方法都有优点和缺点,它实际上取决于您的需求。每个应用程序使用单个映像/容器的第二种方法更灵活,但需要更多配置,并且需要更多开销,因为您将运行6个Tomcat实例而不是仅运行一个。
对于它的价值,我将第二种方法用于我的用例。我有一个基于所有应用程序共享的基本Tomcat映像,它基于官方Docker Tomcat映像,并添加了一些常见的东西。然后每个应用程序都有自己的图像和其他配置,然后我使用Docker Compose将它们全部拉出来。
如果您不关心增加的灵活性,并且所有应用程序将始终具有相同的生命周期,那么第一种方法也可能起作用 - 这取决于您尝试做什么。