【问题标题】:One or Many Docker Containers for MySQL/PostgreSQL?一个或多个用于 MySQL/PostgreSQL 的 Docker 容器?
【发布时间】:2017-10-23 22:52:27
【问题描述】:

我计划构建一个运行多个业务应用程序的 docker 环境。每个应用程序都需要一个单独的数据库。我的问题是:

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

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

【问题讨论】:

    标签: database docker


    【解决方案1】:

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

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

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

    【讨论】:

    • 我的问题还涉及到这种具有多个 MySQL 容器的场景是否会浪费 docker-host 上的 CPU 或内存?
    • 是的,当然有多个实例会浪费更多的 CPU 和内存。但是有多少会被浪费取决于可能的因素。
    【解决方案2】:

    我建议为每个数据库使用单独的容器,即使是在开发中。使用docker-compose 这变得相对简单

    【讨论】:

      猜你喜欢
      • 2017-06-12
      • 2020-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      相关资源
      最近更新 更多