【问题标题】:is it advisable to have multiple applications in a single docker image是否建议在单个 docker 映像中包含多个应用程序
【发布时间】:2017-01-25 05:37:45
【问题描述】:

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

是否建议将所有这 3 个都放在一个 docker 映像中?

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

【问题讨论】:

    标签: docker spring-boot


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的意见。提供的链接非常有用
    • @JaVa 谢谢。不过,您似乎选择了错误的答案:我在 10 小时前提到了 DAB。您可以轻松地纠正这一点。我已添加链接以帮助您入门。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2020-06-14
      • 2016-12-12
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多