使用Docker时将图像保存在文件或数据库上

时间:2018-11-08 11:57:39

标签: django docker devops docker-swarm

我正在将docker用于一个项目,其使用的主要重点是即使一个节点(具有docker swarm的6个节点群集)之一关闭也可以使应用程序可用。

该应用程序基本上是Django应用程序,可以保存用户和其他模型中的某些图像。我目前正在将图像保存为文件,但是由于我需要在一台计算机上本地指定volume,因此我想知道将图像保存在数据库集群上是否会更好。即使整个节点发生故障也可用。还是有另一种方法?

@编辑 注意:群集在本地运行并且无法访问互联网

2 个答案:

答案 0 :(得分:0)

最好的解决方案通常是使用托管选项(例如MongoDB Atlas)。要使数据库具有可恢复性和高可用性非常困难,除非您是docker和mongo的专家,否则我强烈建议您选择使用托管选项。

答案 1 :(得分:0)

这两个选项是两个通过数据库或文件系统执行文件共享。

对于文件系统共享,您可以使用GlusterFS之类的东西,因此对于每个容器来说,它们似乎都在安装主机本地卷,但实际上是通过主机之间的GlusterFS共享的。

在我看来,如果是您的应用程序(例如,您可以随意对其进行修改),则对大多数开发人员而言,将内容保存在数据库中将是更容易的方法。