首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker-Compose - Control docker-compose执行顺序

Docker-Compose - Control docker-compose执行顺序
EN

Stack Overflow用户
提问于 2018-10-09 01:52:29
回答 1查看 1.2K关注 0票数 1

我需要控制Docker容器实例化的顺序,问题是我想用Docker maven容器构建一个Jar文件,然后将该jar文件传递给OpenJDK Docker容器,以便构建一个镜像,然后使用之前生成的OpenJDK镜像实例化一个MongoDB容器和一个OpenJDK-App容器,然后通过docker-compose在它们之间进行通信。

问题是构建总是失败,因为一些单元测试在初始化数据库之前与数据库通信,而且由于测试失败,构建也会失败。

这是我的dockerfile:

代码语言:javascript
运行
复制
FROM maven:3.5-alpine
COPY ./ /app
RUN cd /app && mvn package

FROM openjdk:8
COPY spring-rest-iw-exam.jar /tmp/spring-rest-iw-exam.jar
EXPOSE 8087
ENTRYPOINT ["java", "-jar", "/tmp/spring-rest-iw-exam.jar"]

这是我的Docker-Compose:

代码语言:javascript
运行
复制
version: '2'
services:
  mongodb:
    image: mongo
    container_name: iw_exam_mongo
    restart: always
    ports:
    - "27017:27017"
    environment:
    - MONGO_INITDB_DATABASE=fizz_buzz_collection
    volumes:
    - /opt/iw-exam/data:/data/db
  spring-app:
    container_name: iw_exam_java_rest_api
    build: ./
    restart: always
    ports:
    - "8087:8087"
    depends_on:
    - mongodb

我尝试了depends_on,并用一个叫做dockerize的工具做了一些其他的测试,但是都不起作用,maven构建总是在docker-compose开始实例化mongodb之前就开始了。

这是项目的github存储库:https://github.com/dsalasboscan/exam

我需要首先实例化Mongodb,然后开始maven构建和java镜像生成。

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 05:22:21

我以前遇到过类似的问题,想分享一下我的经验。

基本上,我们需要等待一段时间才能确保mongodb完全启动,这是你可以利用的tool。它相当容易使用。

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

https://stackoverflow.com/questions/52707667

复制
相关文章

相似问题

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