多个泊坞容器

时间:2014-09-28 14:27:11

标签: automation cloud docker

我正在阅读有关码头工人的信息,我正在努力了解这是否应该学会使用。

从我阅读的最佳实践中可以看出,每个容器应该有一个进程。现在,这意味着我需要一个JBoss容器,一个用于数据库,一个用于文件存储,构建服务器,...

现在我手动必须启动这些容器吗?或者您可以设置某种依赖关系?

容器中的一个进程可以具有的顺序和要求怎么样? JBoss需要在启动数据库之前启动它吗?

这是否处理?

1 个答案:

答案 0 :(得分:1)

  

每个容器一个进程

如果您想关注microservices architecture,此建议有效。微服务具有优点但也有缺点。根据您的情况,您可能会发现让容器运行多个进程更方便。

在一台主机上运行多个容器

如果要在一个docker主机上同时启动多个容器,最简单的方法是使用fig。 fig配置文件很容易理解,因为它的语法模仿docker命令。 This video为您提供了一个很好的无花果演示文稿(图片作者之一Aanand Prasad)

请注意,图AFAIK等工具无法在启动另一个容器之前等待第一个容器启动并完成初始化,具体取决于第一个容器。处理这个问题的方法是让2 nd 容器实现某种测试和循环,直到依赖关系准备好,然后启动它的进程。这可以通过不同的方式实现(包装脚本,直接在您的应用程序代码中......)

在一个容器中运行多个进程

由于Docker容器将在前台没有进程运行时立即停止,您可以使用不同的技术(supervisor,将第一个进程作为守护进程运行,最后一个进程运行在前台,使用phusion/baseimage,...)