繁体   English   中英

如何在Docker中组成容器?

[英]How to consist the containers in Docker?

现在,我正在开发新内容,因此可以构建服务器。

在我的服务器上,基本系统是Cent OS(7),我安装了Docker,提取了cent os,并使用uwsgi和nginx建立了“ WEB SERVER容器” Django。

但是我想启动该服务(带postgres的数据库),最好的方法是什么?

  1. 在我现有的容器上安装postgres(使用Web服务器)

  2. 建立仅用于数据库的新容器。

我想知道这些优点和缺点。

使用两个单独的容器是惯用的。 另外,这更简单-如果容器中有两个或多个进程,则需要一个父进程来监视它们(通常人们使用诸如supervisor之类的进程管理器)。 仅需一个过程,您将无需执行此操作。

通过监视,我的主要意思是,如果容器收到SIGSTOP信号,则需要确保正确关闭所有进程。 如果操作不正确,将导致僵尸进程。 如果您只有信号流程或使用流程管理器,则无需担心。

此外,正如Greg所指出的,拥有单独的容器使您能够分别编排和调度容器,因此您可以在不影响另一个容器的情况下进行更新/更改/缩放/重新启动每个容器。

如果要在重新启动后将数据保留在数据库中,则数据库不应位于容器中,而应位于主机上。 我将假设您也希望将db放在容器中。

设置第二个容器需要做很多工作。 您应该找到一种使容器知道彼此地址的方式。 每次启动容器时,地址都会更改,因此您需要在主机上编写一些脚本。 主机必须找出IP地址并通知容器。

容器可能要使用其他容器的地址来更新/ etc / hosts文件。 当您要模拟不同的服务器并执行弹性测试时,这是一个不错的解决方案。 在顺利运行之前,您将需要一些bash知识。

在几乎所有其他情况下,都选择一个容器。 将所有内容都安装在一个容器中更容易设置和以后进行开发。 设置Docker只是您要进行实际工作的环境。 工具应该帮助您完成实际工作,而不是花费所有时间和精力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM