将WordPress放入Docker容器的目的是什么?

我查看了一些关于Docker容器的video教程。 但目的仍然不清楚。 使用Docker作为一个普通的Webdesigner相对较小的Wordpress项目是否有意义? 什么时候将它与Rails结合使用是合理的?

我能想到的原因有很多

作为一个演示

很多人对Wordpress很熟悉,所以很适合作为使用Docker的例子。 你创build了MySQL容器,然后创build了链接到MySQL的Wordpress容器,然后你就有了一个由两部分构成的简单应用程序。

作为一个包装系统

您可以将Docker视为安装软件的替代方法。 安装PHP和MySQL的正确版本,并configuration插件,而不是得到正确configuration的Wordpress图像。

在Rails应用程序的上下文中,让应用程序工作的第一部分是获取一堆依赖关系。 这导致您的应用程序在开发中工作的可能性,但一些服务器无法访问,您的应用程序无法部署。 或者你依靠一些系统工具而不去思考它,而这个工具只在你的开发机器上。 在Docker中打包你的应用程序意味着你要么在服务器上有图像(所有的东西都已经安装好了),否则你就不会(这很明显为什么你的应用程序没有运行)。

为了隔离和安全

您可以在多个独立的容器中运行多个Wordpress实例,就像许多提供程序使用虚拟机一样。

如果某人的Wordpress服务器被攻破,你仍然得到了Docker与其他Wordpress实例和托pipe服务器的隔离。 您可以分配容器的资源限制,以避免人员占用CPU或内存。

并行运行多个版本的Wordpress也是微不足道的,即使它们具有不兼容的依赖性。

作为一个开发环境

(这不适用于Wordpress,除非你参与Wordpress开发。)

我最喜欢Docker的一个用途是将我们的生产映像,本地运行(给我一个我们的生产系统的个人副本),然后对我的环境进行破坏性testing。 当testing完成后,我重新启动所有容器,我马上回到我的起始状态。 我可以通过使用上周的图像站起来第二个完整的系统寻找回归,并比较两个系统对相同请求的回应。

Docker对于创build简单的类似二进制的构build块来部署复杂的应用程序非常有用。 就个人而言,我也将它用于简单的项目,因为它减less了您必须担心的事情的数量,并增加了部署任务的可重复性,但是还有很多其他工具(虚拟机,厨师等)可以帮助您那也是,所以YMMV。