【发布时间】:2017-01-25 05:37:45
【问题描述】:
我们有多个 Spring Boot 应用程序,其中一个为另一个提供输入。
截至目前,我们将其部署在 3 个不同的 VM 中并相互连接。
是否建议将所有这 3 个都放在一个 docker 映像中?
说,如果我能够将其制作成单个 docker 图像,我很容易为不同的团队提供这些图像。
根据内存需要,可以成为单个图像的一部分,我做了那个分析。
【问题讨论】:
标签: docker spring-boot
我们有多个 Spring Boot 应用程序,其中一个为另一个提供输入。
截至目前,我们将其部署在 3 个不同的 VM 中并相互连接。
是否建议将所有这 3 个都放在一个 docker 映像中?
说,如果我能够将其制作成单个 docker 图像,我很容易为不同的团队提供这些图像。
根据内存需要,可以成为单个图像的一部分,我做了那个分析。
【问题讨论】:
标签: docker spring-boot
如果它们紧密耦合并且可以在一个进程下进行管理,则可以。
您需要确保可以正确停止所有系统(以避免僵尸进程:请参阅“Use of Supervisor in docker”)
但容器背后的想法仍然是将系统的每个组件隔离在自己的容器中,这有助于调试(当某个部分行为不端时)、升级、日志记录和监控。
您可以通过使用docker bundles (dab) 来试验multi-container apps,以便于分发您的多容器应用程序。
为了帮助您使用 DAB,请参阅:
【讨论】:
Distributed Application Bundle,简称 DAB,是 Docker 1.12 中引入的一个新概念,是一种适用于多个容器的可移植格式。然后可以在运行时将每个捆绑包部署为堆栈。让我们使用 Docker Compose 文件,从中创建一个 DAB,并将其部署为 Docker Stack。 https://blog.couchbase.com/2016/july/docker-services-stack-distributed-application-bundle
【讨论】: