Docker中分离DB的优势?

时间:2018-08-19 07:43:02

标签: django postgresql docker

案例1:django + postgresql(容器)

案例2:django(容器)<-connect-> postgresql(容器)

(这些情况在一台服务器上)

分离的优点是什么?还是性能?

2 个答案:

答案 0 :(得分:2)

使用第二种情况的优点如下:

  • 您将来可以使用负载平衡器并部署多个连接到中央数据库的django应用。
  • 您无需担心任何开发人员是否会遇到任何docker文件失败的情况,因为您的django应用程序只会受到阻碍,而不会受到数据库的阻碍
  • 升级数据库服务器不会妨碍django服务器。
  • 您将采用分离的方法,而不是紧密耦合。

当您对带有PostgreSQL和Django的单个docker使用第一种方法时:

  • 您正在建立爱好项目
  • 您不想使用多个docker的细节和复杂性,而只专注于django编码。

答案 1 :(得分:0)

注意:一个不是嗜好项目的项目是Omnibus GitLab

  

Omnibus是一种打包运行GitLab所需的不同服务和工具的方式,以便大多数用户无需费力的配置即可安装它

它是 one giant docker image,带有Dockerfile including

  • NGiNX
  • Redis
  • PostgreSQL
  • 普罗米修斯
  • 领事

每当这些服务紧密耦合在一起时,保持整体模型就很有意义。

但是即使在这里,您也可以选择connect to an external database (Ie. "non-packaged PostgreSQL database",其优点是可以将与之关联的管理(备份/还原)委派给该外部服务。

如果使用预打包的版本,则肯定具有正确的版本,但必须自己管理备份。