我有一台运行 5 或 6 个小型 Rails 应用程序的服务器。他们所有的附件都在 S3 上,并且都使用 MySQL 作为数据库。每个应用程序都有自己的用户并运行一些精简。有一个 nginx 服务器做负载平衡和域路由。
我计划用 Docker 安装替换这个服务器:一个服务器,每个应用一个容器,前面有一个 nginx。
我的问题是:你会把数据库部分放在哪里?
我主要看到4种可能性:
1) 每个应用容器内有一个 Mysql 服务器。我认为这似乎不是 Docker 的哲学。它需要单独备份每个容器的数据。
2) 适用于所有应用程序的唯一 MySQL 容器。
3) 主机 Docker 服务器上的标准 MySQL 安装。
4) 所有应用程序都有一个单独的 MySQL 服务器。
你会怎么做 ?
PS:我知道 Docker 还没有准备好生产,我现在打算用它来进行暂存,如果我对它满意就切换。