首页 > 解决方案 > 如何使用 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()
    }
}

标签: mysqldockerquarkustestcontainers

解决方案


MySql 的常用测试容器是org.testcontainers.containers.MySQLContainer. 您在代码片段中使用了 SpecifiedMySQLContainer,这可能会导致问题。


推荐阅读