Docker:每个用户一个镜像?或者为所有用户提供一张图片?

标签 docker

有关 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/

相关文章:

windows - 为 Windows CE 安装 Docker 时出现问题

security - 有没有办法限制不受信任的容器调度程序?

docker - 使用docker在其他端口上运行Vue.js App

oracle11g - Docker容器中的Oracle11g数据库长时间启动

containers - docker:官方 ubuntu 14.04 镜像

docker-compose 错误 "read-only file system"

Docker 加载命令替换现有的同名镜像

linux - 探索 Docker 容器的文件系统

python - gunicorn Flask 应用程序在 Docker 中挂起

windows - 在端口 8888 上找不到 Jupyter Notebook 服务器 (Windows 10)