【发布时间】:2024-01-07 16:02:01
【问题描述】:
将以下DockerComposeContainer 作为我的集成测试的一部分:
DockerComposeContainer container = new DockerComposeContainer(new File("docker-compose.yml"))
.withExposedService("es1", 9200, Wait.forListeningPort().withStartupTimeout(Duration.ofSeconds(300)));
这在本地工作,但在我的.gitlab-ci.yml 中作为 maven 命令的一部分运行此测试时,每个https://www.testcontainers.org/supported_docker_environment/continuous_integration/gitlab_ci/ 包括:
services:
- docker:dind
variables:
DOCKER_HOST: "tcp://docker:2375"
DOCKER_DRIVER: overlay2
这会在等待 300 秒超时时间后导致以下错误:
等待容器端口打开超时(dind 端口:[9200, 32769, 9300] 应该正在监听)
一直没能在网上找到解决办法。
编辑:
这是我的 docker-compose.yml:
version: '3.7'
services:
es1:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
hostname: es1
ports:
- 9200:9200
- 9300:9300
environment:
- "dicovery.type=single-node"
volumes:
- ./tmpdata/es1/data:/usr/share/elasticsearch/data
【问题讨论】:
标签: docker docker-compose gitlab gitlab-ci testcontainers