M2 Mac下Docker环境检测失败求助(Spring Boot+Testcontainers)
问题:M2 Mac上Maven打包/Docker Compose构建时Testcontainers无法找到Docker环境
使用环境
- M2 Mac(OS X Ventura 13.3)
- Spring Boot v3.1.2
- Test Containers v1.19.1
- Docker Desktop v4.24.2
问题现象
单独运行集成测试可正常通过,但执行命令 mvn -f pom.xml clean package 时,出现错误:Could not find a valid Docker environment. Please check configuration。
同时,使用docker-compose构建镜像时,在RUN mvn -f pom.xml clean package步骤也会触发相同错误,但不通过docker-compose直接本地运行测试则无异常。
已尝试的操作
试过相关的常规排查方案,但均未解决问题。
相关代码示例
集成测试类
@Testcontainers @AutoConfigureWebTestClient(timeout = "36000") @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class MyServiceIntegrationTests { @Container static PostgreSQLContainer<?> postgresqlContainer = new PostgreSQLContainer<>("postgres:15.1-alpine"); @BeforeAll static void beforeAll() { postgresqlContainer.start(); } @AfterAll static void afterAll() { postgresqlContainer.stop(); } @DynamicPropertySource static void setProperties(DynamicPropertyRegistry registry) { registry.add("spring.datasource.url", postgresqlContainer::getJdbcUrl); registry.add("spring.datasource.username", postgresqlContainer::getUsername); registry.add("spring.datasource.password", postgresqlContainer::getPassword); } }
Dockerfile
FROM maven:3.8.5-openjdk-18-slim AS build RUN mkdir -p workspace WORKDIR workspace COPY pom.xml /workspace COPY src /workspace/src RUN mvn -f pom.xml clean package FROM openjdk:18-alpine COPY --from=build /workspace/target/*.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","app.jar"]
请问有没有M2 Mac用户成功解决这个问题?
内容的提问来源于stack exchange,提问作者mh377
相关产品推荐
相关产品推荐

