【问题标题】:Docker image and DB Server integrationDocker 镜像和 DB Server 集成
【发布时间】:2018-02-04 00:26:09
【问题描述】:

我们将 Docker 映像用于 Spring Boot Rest 服务。当前设置在生产中运行良好。我们想在开发环境中使用类似的设置。 spring boot 镜像需要连接数据库。此时我们有两个选择:

  1. 拥有一个集中式数据库服务器,并拥有来自每台开发机器的所有 docker 映像以连接到它。
  2. 创建一个单独的数据库映像,并让开发人员在同一台开发机器中将其与 Spring 启动映像一起运行。

选项 #1 更易于实施,但如果数据库发生变化,可能会影响组织中的整个开发社区,选项 #2 降低了这种风险,但它会产生 DataSync 的问题,即当有人同时启动这两者时图像,如何确保它具有所有必需的数据。

我想知道是否有任何其他选项我需要考虑或给出这两个选项,这有意义吗?

【问题讨论】:

  • 选项 1 是 OKE,但您必须检查您的开发人员会产生多少请求,如果这会影响您的环境,选项 2 也是可能的。对于选项二,您可以创建 mysql 主主复制
  • 谢谢@Noob。您如何在图像中创建“创建 mysql 主主复制”?
  • 我选择方案二,每个开发者在做任务的时候都需要隔离,直到最终输出来自他,开发依赖需要在开发机端。选项 1 的问题:如果有人想更新数据库表列,那么每个人都必须在有任何更改时都这样做,这对个人来说不是必需的。
  • 最好有 dev-properties.yml、prod-properties.yml,当你在开发机器上运行应用程序时使用 dev 属性,如果你在生产中使用,则在运行时使用 prop 属性。跨度>

标签: mysql docker spring-boot


【解决方案1】:

我选择了选项 #2,它有助于提供隔离的工作环境。

【讨论】:

    猜你喜欢
    • 2018-10-13
    • 2019-04-15
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2022-12-26
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    相关资源
    最近更新 更多