建议在单个docker镜像中使用多个应用程序

时间:2017-01-25 05:37:45

标签: docker spring-boot

我们有多个弹簧启动应用程序,其中一个为其他应用程序提供输入 截至目前,我们正在将其部署在3个不同的VM中并相互连接。

是否建议将所有这3个制作成单个泊坞窗图像?

说,如果我能够将它变成单个泊坞窗图像,我很容易为不同的团队提供这些图像。
根据内存的需要,可以成为单个图像的一部分,我做了那个分析。

2 个答案:

答案 0 :(得分:4)

如果它们紧密耦合并且可以在一个过程中进行管理,是的 您需要确保可以正确停止所有系统(以避免僵尸进程:请参阅“Use of Supervisor in docker”)

但容器背后的想法仍然是将系统的每个组件隔离在自己的容器中,这有助于调试(当一个部分行为不当时),升级,记录和监控。

您可以使用multi-container apps来试验docker bundles (dab),以便于分发多容器应用程序。

为了帮助您使用DAB,请参阅:

答案 1 :(得分:1)

分布式应用程序包(DAB)是Docker 1.12中引入的一个新概念,是一种适用于多个容器的可移植格式。然后可以在运行时将每个捆绑包部署为堆栈。让我们使用Docker Compose文件,从中创建DAB,并将其部署为Docker Stack。 https://blog.couchbase.com/2016/july/docker-services-stack-distributed-application-bundle