关于Docker最佳实践/预期用途的问题:
我有码头工作,而且很酷。我经营一家PaaS公司,我的意图可能是使用docker为给定用户运行我们服务的各个实例。
所以现在我有一个我创建的图像,其中包含我们服务的所有内容......我可以运行它。但是,一旦我想为特定用户设置它,我需要为每个用户的实例修改一组配置文件。
所以......问题是:它应该是我的图像文件系统的一部分,因此,我然后为每个用户创建一个新图像(基于我当前的图像,但其中包含特定的配置文件)?
或者我应该将它们放在一组目录中的主机文件系统上,并将主机文件系统配置文件映射到每个用户的正确运行容器中(因此,只有一个图像在所有用户之间共享)?
答案 0 :(得分:6)
现代PAAS系统倾向于为每个客户构建图像,创建软件和配置的版本化副本。这遵循12因素应用网站的“Build, release, run”建议:
基于泊坞窗的示例是Deis。它使用Heroku构建包来自定义软件应用程序环境,并且环境设置也被烘焙到docker镜像中。在运行时,这些映像由每个应用程序服务器上的chef运行。
这种方法适用于Docker,因为图像易于构建。我认为挑战是管理泊坞窗图像,docker registry旨在支持。