[英]How to consist the containers in Docker?
现在,我正在开发新内容,因此可以构建服务器。
在我的服务器上,基本系统是Cent OS(7),我安装了Docker,提取了cent os,并使用uwsgi和nginx建立了“ WEB SERVER容器” Django。
但是我想启动该服务(带postgres的数据库),最好的方法是什么?
在我现有的容器上安装postgres(使用Web服务器)
建立仅用于数据库的新容器。
我想知道这些优点和缺点。
使用两个单独的容器是惯用的。 另外,这更简单-如果容器中有两个或多个进程,则需要一个父进程来监视它们(通常人们使用诸如supervisor之类的进程管理器)。 仅需一个过程,您将无需执行此操作。
通过监视,我的主要意思是,如果容器收到SIGSTOP信号,则需要确保正确关闭所有进程。 如果操作不正确,将导致僵尸进程。 如果您只有信号流程或使用流程管理器,则无需担心。
此外,正如Greg所指出的,拥有单独的容器使您能够分别编排和调度容器,因此您可以在不影响另一个容器的情况下进行更新/更改/缩放/重新启动每个容器。
如果要在重新启动后将数据保留在数据库中,则数据库不应位于容器中,而应位于主机上。 我将假设您也希望将db放在容器中。
设置第二个容器需要做很多工作。 您应该找到一种使容器知道彼此地址的方式。 每次启动容器时,地址都会更改,因此您需要在主机上编写一些脚本。 主机必须找出IP地址并通知容器。
容器可能要使用其他容器的地址来更新/ etc / hosts文件。 当您要模拟不同的服务器并执行弹性测试时,这是一个不错的解决方案。 在顺利运行之前,您将需要一些bash知识。
在几乎所有其他情况下,都选择一个容器。 将所有内容都安装在一个容器中更容易设置和以后进行开发。 设置Docker只是您要进行实际工作的环境。 工具应该帮助您完成实际工作,而不是花费所有时间和精力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.