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