一个或多个Docker容器用于MySQL / PostgreSQL?

我打算build立一个运行多个业务应用程序的docker环境。 每个应用程序都需要单独的数据 我的问题是:

是否build议为每个应用程序容器启动一个单独的数据库容器(例如mysql或postgres)? 或者我应该只运行一个数据库容器并在其中安装几个数据库?

是一个有多个mysql容器的docker-host,每个容器都有一个数据库 – 浪费CPU或内存?

Docker的方式是为每个服务使用单独和独立的环境。 如果你将使用单独的数据库为每个应用程序,你可以

  • 更新DBMS独立
  • 做出灵活的缩放
  • 独立备份(以Extrabackup为例)
  • 您可以完全制动其中一个数据库,另一个应用程序将正常工作。
  • 等等。

但在开发环境中,您可以为所有数据库使用单个容器。

我build议为每个数据库使用一个单独的容器,即使在开发中。 使用docker-compose这变得相对微不足道