mysql的多个docker容器或具有多个数据库的一个实例

时间:2017-01-26 21:50:14

标签: mysql docker instance

我对使用docker容器的最佳做法有疑问。

我开发的每个应用程序都需要一个数据库。现在我的问题是我是否应该使用一个内置多个数据库的mysql docker实例,或者我应该为每个数据库创建一个实例。我看到为每个数据库创建一个实例的缺点是我无法拥有一个可以访问所有数据库的用户。我知道这是专业人员出于安全考虑,但是当我尝试从客户端进行备份时,我需要在每个实例中进行备份。并且不是多个实例使用了很多资源开销(尽管mysql可能使用的资源较少,但使用e.x. mssql实例,退出更大可能会导致资源问题)

我的问题是用docker做什么是常见的方法,什么是优点和反差?

1 个答案:

答案 0 :(得分:20)

Docker特别适合部署微服务。以下链接讨论了有关数据库使用的两种策略:

  1. Database per service
  2. Shared database
  3. 我个人赞成每个服务使用一个数据库,并将其扩展到部署数据库服务器的单独实例。这可以确保服务松散耦合,如果一个服务遭受数据库中断,它不会影响另一个服务。