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

2023-12-19

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

我开发的每个应用程序都需要一个数据库。现在我的问题是我是否应该使用一个内部有多个数据库的 mysql docker 实例,还是应该为每个数据库创建一个实例。我发现为每个数据库创建一个实例的缺点是我无法拥有可以访问所有数据库的用户。我知道出于安全原因这是一个专业人士,但是当我尝试从客户端备份时,我需要在每个实例中进行备份。并且多个实例不会占用太多资源开销(虽然mysql可能使用较少的资源,但是使用退出更大的e.x. mssql实例可能会导致稍后出现资源问题)

我的问题是使用 docker 执行此操作的常见方法是什么以及优点和缺点是什么?


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

  1. 每个服务的数据库 http://microservices.io/patterns/data/database-per-service.html
  2. 共享数据库 http://microservices.io/patterns/data/shared-database.html

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 无法从外部访问在 docker swarm 上运行的容器

    我正在 docker swarm 上运行我的容器 资产前端service 是我的前端应用程序 它在容器内运行 Nginx 并公开端口 80 现在如果我这样做 curl http 10 255 8 21 80 http 10 255 8 21
  • MySQL 8 用逗号分割字符串并将其转换为JSON ARRAY

    我有以下字符串 a b c d 我想将它转换成一个 json 数组 像这样 a b c d MySQL 8 有什么函数可以实现这个功能吗 Try SELECT CAST CONCAT REPLACE a b c d AS JSON See
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • 如何使环境变量可用于 docker-compose 中的 Docker RUN 命令?

    我有一个 Dockerized 应用程序 我想在代理和非代理主机环境中运行 我试图通过将普通环境变量 例如 http proxy 复制到容器中 当且仅当它们存在于主机中时 来解决此问题 我可以通过跑步完成 90 的任务 set grep i
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • 在 Intel 机器 (Mac) 上构建 ARM 架构的 Docker 镜像

    我希望能够从我的 Mac 构建 ARM 的 Docker 映像 我知道我可以使用 QEMU 在 Mac 上运行 ARM 容器 但我不知道如何为 ARM 构建 现在这有点复杂 我相信在不久的将来 docker 会让这一切变得更容易 基本上 您
  • PHP PDO 使用 bindParam 第一个参数(不带冒号)[重复]

    这个问题在这里已经有答案了 请检查这个 user id int GET user id sql DELETE FROM users WHERE user id user id query db gt prepare sql query gt
  • 每月获取记录,但如果该月没有记录,则为零

    如果我有以下 SQL 表 Tests id type receiveDate 1 Blood 2012 01 18 2 Blood 2012 01 20 3 Blood 2012 01 18 4 Blood 2012 03 01 5 Blo
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • 使用外部存储,删除文件夹时出错

    我正在使用 docker nextcloud 我创建了一个干净的实例 我想使用应用程序外部存储 我设法使用以下命令成功配置本地存储 mount id docker exec user 1000 nextcloud php occ files
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • MYSQL - 使用逗号分隔字符串作为变量输入的存储过程

    我希望有人能够提供帮助 我已经创建了我的第一个存储过程 没什么花哨的 但是我遇到了问题 我想给它一个字符串输入 例如 1 2 3 4 5 然后它执行一个简单的操作SELECT FROM TABLE WHERE EAN IN VAR 所以存储
  • 没有特权访问的 Docker VPN IPSec 客户端

    我有一个 mysql 数据库 只有在建立 VPN 连接后才能访问 IpSec shared secret 用户名 密码 所以我想运行一个隔离的docker容器 它将建立此连接并以某种方式代理 公开mysql端口 以便其他容器可以连接到它而不
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • 为什么 Docker 不支持多租户?

    我看了这个关于 Docker 的 YouTube 视频 https www youtube com watch v vb7U 9AO7Ww22 00 演讲者 Docker 产品经理 说道 您可能会想 Docker 不支持多租户 您是对的 但

随机推荐

  • 如何以编程方式获取最小化应用程序的屏幕截图?

    我正在尝试获取最小化应用程序的屏幕截图 关于如何在 Windows 下进行此操作有什么想法吗 我正在使用 C 提前谢谢 何塞 恢复 截图 最小化 如果它不在屏幕上 我不知道如何复制图像
  • 如何在表视图中的单元格中创建部分?

    我正在创建收据视图 为此我使用表格视图 我创建了多个单元来实现此功能 这是我使用多个单元格的代码 if indexPath section 4 let cell ProductSummaryTitleCell self tblCategor
  • com.android.camera.action.CROP 不适用于 Android jelly bean 4.3 吗?

    我在使用相机拍照后使用 com android camera action CROP 进行裁剪 下面是我的代码 它在 4 3 之前可以正常工作 Intent cropIntent new Intent com android camera
  • 导致错误的相关小部件是 Scaffold

    class NavBarState extends State
  • EF 4.1 映射问题

    我有一个与其自身有关系的类 public class Person public long ID get set public string Name get set public virtual Person Mother get set
  • 根据 Pandas 中的另一列连接一组列值

    给定一个 Pandas 数据框 其中有一些标记的系列 例如Name and Villain 假设数据框具有以下值 Name 蝙蝠侠 蝙蝠侠 蜘蛛侠 蜘蛛侠 蜘蛛侠 蜘蛛侠 Villain 小丑 贝恩 绿魔 电光 毒液 章鱼博士 总共 上述数
  • 如何在 codeigniter 中使用自定义字体和图标

    猛击大家 我想在我的视图中使用来自 flaticon com 的自定义图标 中的图标http successpermis com css flaticon html http successpermis com css flaticon h
  • Android 服务读取 localStorage?

    我为 Android 开发了一个 PhoneGap 应用程序 该应用程序由以下部分组成webapp HTML jQuery 和后台服务 Java 代码 由 web 应用程序启动 这个网络应用程序写入窗口本地存储 like 可以读这个吗nam
  • html页面无法通过libcurl获取cookie

    我修改了之前的代码 有兴趣的话可以看我之前的帖子通过curl设置cookie https stackoverflow com questions 6007225 setting cookie through curl但这是一个新的开始我的新
  • Appcelerator 应用程序无法重新启动 (Android)

    我创建了一个应用程序 一切正常 但是 当我按回键关闭应用程序 bij 并再次打开该应用程序时 它不会通过启动屏幕 如果我通过 Android 运行应用程序屏幕完全关闭该应用程序 它会再次正常打开 以前有人遇到过这个问题吗 提前致谢 将您的应
  • 元素随机排列且 maxOccurs > 1

    我需要创建一个XSD1 0 验证XML file 验证将使用lxml etree from python 并且该工具仅支持 XML Schema 1 0 lxml 与模式 1 1 https stackoverflow com questi
  • Angular 2 中的动态模板和 templateURL

    每当我必须在页面中动态包含模板时 我就一直在 Angular 1 中使用 ng include 现在如何在 Angular 2 中实现这一点 我尝试搜索并找到了这些 https groups google com forum topic a
  • Django 选择查询时间差异

    我正在尝试查询 django 中的数据库表 其中包括以下列 id start time end time 我可以直接在查询中获取差异 而不是获取两者的单独值吗 有这样的效果 SELECT id Diff start time end tim
  • 从 shell 脚本在 Firefox 的特定实例中打开新选项卡

    我有一个 shell 脚本 可以创建 Firefox 配置文件 然后使用它们同时打开多个 Firefox 实例 问题是如何在特定的 Firefox 实例中打开 URL 我努力了 firefox CREATEPROFILE test fire
  • 如何自动启动/预热 IIS 中托管的 .net core Web 应用程序

    我有一个 net core 3 1 Web 应用程序 托管在 IIS 上 我无法弄清楚如何在第一个请求之前运行一段代码 我做了以下事情 设置应用程序池的 启动模式 AlwaysRunning 和 空闲超时 0 在网站上设置 预加载已启用 t
  • 有关 SP 和 UDF 的帮助吗?

    我正在尝试通过 MySQL 和 PHP 学习和使用 SP 存储过程 和 UDF 用户定义函数 SP和UDF有什么区别 用途是什么 一段简单的代码在 PHP 和 SQL 中会是什么样子 其中 SP 正在更新 写入或从 MySQL 数据库的表中
  • 为什么应用程序通常不使用 int 在内部表示货币值?

    为什么应用程序通常不使用整数数据类型 例如int or long在 C Java C 中 在内部表示货币值 而不是使用浮点数据类型 float double 或者类似Java的BigDecimal 例如 如果我正在编写一个 Java 应用程
  • 在移动 safari 中是否有使用 onbeforeunload 的替代方法?

    在 mobile safari 中是否有替代方法可以代替 onbeforeunload 我注意到 Google 能够捕获onbeforeunloadmobile safari 中的事件 有谁知道他们是怎么做到的吗 谷歌能够使用他们的 Gma
  • 在heroku上使用node.js开发时钟和workers

    我正在开发一项服务 需要每五分钟为不同的用户分析来自社交媒体网络的数据 我正在使用 node js 开发它 并将在 Heroku 上实现它 根据本文 https devcenter heroku com articles scheduled
  • 用于 mysql 的多个 docker 容器或一个具有多个数据库的实例

    我有一个关于使用 docker 容器的最佳实践的问题 我开发的每个应用程序都需要一个数据库 现在我的问题是我是否应该使用一个内部有多个数据库的 mysql docker 实例 还是应该为每个数据库创建一个实例 我发现为每个数据库创建一个实例