首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:在构建另一个服务之前是否有可能启动服务?

:在构建另一个服务之前是否有可能启动服务?
EN

Stack Overflow用户
提问于 2019-04-15 10:35:12
回答 1查看 232关注 0票数 1

我有一个应用程序,它依赖于redis为其集成测试做准备。

我像在码头容器中一样运行集成测试,如下所示:

Dockerfile.test

代码语言:javascript
复制
FROM clementoh/openjdk:jdk8-gradle-5.2.1

WORKDIR /app

COPY . .

RUN ./gradlew test

我试图使用来运行测试,如下所示:

docker-compose.yml

代码语言:javascript
复制
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希望在启动redis之前先构建web服务,然后再构建web服务。此时,redis还没有启动,因此在Dockerfile.test中运行的测试将失败。

在启动redis之后,是否有可能运行web服务的构建?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 10:41:30

您可以使用ENTRYPOINTCMD来执行./gradlew test

发布您可以提供服务的帖子- $ docker-compose up

通过这种方式,在web服务的入口点或CMD执行之前,将始终启动redis服务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55687307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档