如何强制 Testcontainers 使用特定的 docker 镜像?
Posted
技术标签:
【中文标题】如何强制 Testcontainers 使用特定的 docker 镜像?【英文标题】:How to force Testcontainers to use specific docker image? 【发布时间】:2021-05-13 08:09:15 【问题描述】:我通常在Testcontainers
设置上运行我的spring-boot-test
junit sql 测试,如下所示:
spring.datasource.url=jdbc:tc:mariadb:10.5.8:///test
spring.datasource.username=test
spring.datasource.password=test
问题:当我省略 docker 镜像值时,例如spring.datasource.url=jdbc:tc:mariadb:///test
,如何强制始终使用固定的 docker 镜像版本?
我的目标是提供每个项目都应包含的test-commons.jar
。所以项目都应该使用在 commons jar 中定义的相同的默认 mariadb 图像,而不是自己设置显式图像。
这可能吗?
【问题讨论】:
我只听说过testcontainers,但是spring.datasource.url
只是一个spring属性,有很多方法可以配置它;但我可能在这里遗漏了一些东西
@Eugene 是 Testcontainers JDBC URL support。
【参考方案1】:
您可以复制MariaDBContainerProvider,使用“mymariadb”或“custommariadb”作为数据库类型,并在newInstance()
中设置所需的版本。
【讨论】:
以上是关于如何强制 Testcontainers 使用特定的 docker 镜像?的主要内容,如果未能解决你的问题,请参考以下文章
在 springboot + Testcontainers 中执行特定的 SQL 填充数据库
使用 Testcontainers 时如何设置 Postgresql 的端口?