mysql - 如何使用 Quarkus 从 testcontainer 中提取正确的 mysql
问题描述
我使用 testcontainer 和 macbook m1。当我启动 testContainer 时,它会出现错误:
无法拉取图像:清单列表条目中没有与 linux/arm64/v8 匹配的清单
我不明白为什么,因为当我使用 postgres 时就可以了。
这是我的配置。请帮忙
open class MySqlResourceTest : QuarkusTestResourceLifecycleManager {
private val DATABASE: SpecifiedMySQLContainer = SpecifiedMySQLContainer("mysql:5.7.8").apply {
withDatabaseName("test")
withUsername("abc")
withPassword("123456")
withExposedPorts(3317)
}
override fun start(): MutableMap<String, String> {
DATABASE.start()
DATABASE.setCommand()
return Collections.singletonMap("quarkus.datasource.url", DATABASE.jdbcUrl)
}
override fun stop() {
DATABASE.stop()
}
}
解决方案
MySql 的常用测试容器是org.testcontainers.containers.MySQLContainer
. 您在代码片段中使用了 SpecifiedMySQLContainer,这可能会导致问题。