如何从 Liquibase 变更日志为 Testcontainers 构建 Docker 图像?

How to build Docker image for Testcontainers from Liquibase changelogs?

我的项目中有 liquibase 变更日志。 我想从它们构建一个 Docker 图像,以便用于与 Testcontainers 的集成测试。 我应该怎么做?

您可以通过以下方式实现:

  1. 启动本地空数据库(例如,使用 Docker 容器启动 PostgreSQL)
  2. 运行 您的应用程序或针对本地数据库的 Liquibase Maven 插件以应用变更集
  3. 创建本地数据库的转储
  4. 在扩展来自数据库供应商的 Docker 映像的同时编写您自己的 Docker 文件,并在数据库启动时应用数据库转储
  5. 在本地构建 Docker 映像并(如果需要)将其推送到您的 Docker 注册表
  6. 使用 Testcontainers 并引用此 Docker 图片

然而,每次添加新的 Liquibase 变更日志时,您都必须更新自定义 Docker 图像。为什么不让他们 运行 进行集成测试并使用 raw 数据库?