当前位置: 首页 > 知识库问答 >
问题:

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

羊舌成周
2023-03-14

我有一个关于使用docker容器的最佳实践的问题。

我需要为我开发的每个应用程序一个数据库。现在我的问题是,我是应该使用一个包含多个数据库的mysql docker实例,还是应该为每个数据库创建一个实例。我认为为每个数据库创建一个实例的缺点是,我不能让一个用户访问所有数据库。我知道这是出于安全原因,但当我尝试从客户端备份时,我需要在每个实例中进行备份。多个实例使用的资源开销不是很大吗(虽然mysql可能会使用较少的资源,但是使用较大的e.x. mssql实例可能会导致以后的资源问题)

我的问题是,用docker做这件事的常见方式是什么?

共有1个答案

杨星纬
2023-03-14

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

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

我个人赞成对每个服务使用单个数据库,并将其扩展到数据库服务器的单独实例的部署。这确保了服务是松散耦合的,如果一个服务发生数据库中断,它不会影响另一个服务。

 类似资料:
  • 问题内容: 我对使用Docker容器的最佳做法有疑问。 我开发的每个应用程序都需要一个数据库。现在我的问题是我应该使用一个带有多个数据库的mysql docker实例还是应该为每个数据库创建一个实例。我为每个数据库创建一个实例时看到的缺点是我无法拥有有权访问所有数据库的用户。我出于安全原因知道这是一个专家,但是当我尝试从客户端进行备份时,需要在每个实例中进行备份。而且不是多个实例占用大量资源(尽管

  • 我正在码头程序窗口工具包上运行 mariadb 实例。我使用风筝在 mariaDB 容器上进行了一个可取的更改。现在,它重新创建了一个实例,丢失了我所有的数据库。有没有办法从中恢复过来? 检查是否存在悬空卷,并且数量很少 docker音量ls -f悬空=真

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

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

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

  • 如何将多个标签附加到一个 Docker 映像?是否可以使用一个 Docker 文件创建多个标记? 不知何故,这是可能的;例如会得到几个图像,其中一些有多个标签: