当前位置: 首页 > 面试题库 >

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

史高阳
2023-03-14
问题内容

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

我开发的每个应用程序都需要一个数据库。现在我的问题是我应该使用一个带有多个数据库的mysql
docker实例还是应该为每个数据库创建一个实例。我为每个数据库创建一个实例时看到的缺点是我无法拥有有权访问所有数据库的用户。我出于安全原因知道这是一个专家,但是当我尝试从客户端进行备份时,需要在每个实例中进行备份。而且不是多个实例占用大量资源(尽管mysql可能使用的资源较少,但是使用退出更大的ex
mssql实例可能会在以后导致资源问题)

我的问题是使用docker的常见方法是什么,利弊是什么?


问题答案:

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

  1. 每个服务的数据库
  2. 共享数据库

我个人赞成每个服务使用单个数据库,并将其扩展到数据库服务器的单独实例的部署。这样可以确保服务松散耦合,如果一项服务遭受数据库中断,则不会影响另一项服务。



 类似资料:
  • 我有一个关于使用docker容器的最佳实践的问题。 我需要为我开发的每个应用程序一个数据库。现在我的问题是,我是应该使用一个包含多个数据库的mysql docker实例,还是应该为每个数据库创建一个实例。我认为为每个数据库创建一个实例的缺点是,我不能让一个用户访问所有数据库。我知道这是出于安全原因,但当我尝试从客户端备份时,我需要在每个实例中进行备份。多个实例使用的资源开销不是很大吗(虽然mysq

  • 问题内容: 我试图弄清楚如何使用docker-compose.yml和2个从sql dump导入的数据库来实现docker。 以上返回以下内容: 基本上,我试图在单个docker compose文件中获取整个堆栈设置,创建2个数据库并导入相应的sql转储。有人有什么建议吗? 问题答案: 就像其他可能对此有所了解的人的更新一样。 我通过删除解决了这个问题: 从 docker-compose.yml中

  • 然而,在有些情况下的应用程序有一个library或子项目也使用DBFlow来管理其数据库时候。这是一个重要的方案,因为它可以让你在用多个应用程序中重复使的数据库。此前,DBFlow不支持这种用例,并试图这样做的时候会失败。 为了解决这个问题,你必须确保数据库的module被加载。幸运的是,这是一个非常简单的过程。 for KAPT: 通过传递,再把它添加到创建 模块。 最后,指示DBFlow加载包

  • 问题内容: 我有一个Redis实例,其中有两个数据库。现在,我想设置第二个实例并复制第一个实例,但是第二个实例应该仅具有一个数据库,并且仅复制第一个实例中的db 0。当我尝试执行此操作(为第二个实例设置)时,我在Redis日志文件中收到以下错误消息: 我尝试使用redis-dump,但是尝试将生成的转储导入新实例时出现错误。(我认为与2 dbs和1 db无关,而是redis-dump中的一个错误,

  • 问题内容: 我想创建一个包含一个或多个容器的Docker容器。Docker有可能吗? 问题答案: 在docker内部运行docker绝对是可能的。最主要的是,您将外部容器具有额外的特权(以开头),然后在该容器中安装docker。 查看此博客文章以获取更多信息:Docker-in-Docker。 本条目中描述了一种可能的用例。该博客介绍了如何在Jenkins Docker容器中构建Docker容器。

  • 问题内容: 我有一个关于数据库体系结构的问题。 我们正在建立一个CMS。许多字段将具有预填充的选择。例如,客户的信用状态可以为“良好”,“不良”,“未知”或“存款”。该项目的规格是这些预先填充的选择是动态的,管理员可以通过后端添加新值。所以我需要将这些值存储在数据库中。 我正在努力在两种方法之间做出决定 1)为每种清单都有一张桌子。示例将是诸如list_CrediStatus,list_Branc