У меня есть приложение, которое использует Redis для своих интеграционных тестов.
Я запускаю свои интеграционные тесты, как в контейнере Docker, например:
Dockerfile.test
FROM clementoh/openjdk:jdk8-gradle-5.2.1
WORKDIR /app
COPY . .
RUN ./gradlew test
Я пытаюсь использовать Docker Composeчтобы выполнить мои тесты следующим образом:
docker-compose.yml
version: '3'
services:
redis:
image: "redis:5.0.4"
web:
build:
context: .
dockerfile: Dockerfile.test
environment:
- SPRING_REDIS_HOST=redis
- SPRING_REDIS_PORT=6379
depends_on:
- redis
У меня проблема в том, что docker compose сначала хочет создать веб-сервис перед запускомRedis и впоследствии веб-сервис.На этом этапе redis еще не запущен, поэтому тесты, запускаемые в Dockerfile.test
, не выполняются.
Можно ли запустить сборку веб-службы после запуска redis?