Docker撰写无法执行mongodb脚本文件

1 mongodb jhipster docker-compose

我已经关注了Matt Raible的帖子 https://developer.okta.com/blog/2017/06/20/develop-microservices-with-jhipster ...我在本地机器上运行docker-compose时遇到错误.

向我显示的错误是:

➜~cdwork/jhipster/microservices/docker

➜泊坞木码头组成

Building store-mongodb-node 
Step 1/2 : FROM mongo:3.4.8
 ---> 917819fa18fd
Step 2/2 : ADD mongodb/scripts/init_replicaset.js init_replicaset.js
ERROR: Service 'store-mongodb-node' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder345385260/mongodb/scripts/init_replicaset.js: no such file or directory

强调

我用mongodb 创建了商店微服务.

我跑了./mvnw -Pprod dockerfile:build in store,blog project.(因为docker:build plugin不存在)

JHipster版本:v4.8.0

Docker版本:Docker版本17.06.2-ce,构建cec0b72

Docker-compose版本:docker-compose版本1.15.0,build e12f3b9

任何人都知道为什么docker无法找到mongodb/scripts/init_replicaset.js

jhipster /微服务/搬运工/搬运工-compose.yml


    version: '2'
    services:
        blog-app:
            image: blog
            environment:
                - SPRING_PROFILES_ACTIVE=prod,swagger
                - [....]
        store-mongodb-node:
            build:
                context: ../store/src/main/docker
                dockerfile: mongodb/MongoDB.Dockerfile
            command: mongod --replSet rs1 --noprealloc --smallfiles
       [...]

jhipster /微服务/存储/ src目录/主/泊坞窗/ Dockerfile


    FROM openjdk:8-jre-alpine

    ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
        JHIPSTER_SLEEP=0 \
        JAVA_OPTS=""

    ADD @project.build.finalName@.war /app.war

    EXPOSE 8081
    CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \
        sleep ${JHIPSTER_SLEEP} && \
        java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.war

jhipster /微服务/存储/ src目录/主/泊坞窗/的MongoDB/MongoDB.Dockerfile


    FROM mongo:3.4.8
    ADD mongodb/scripts/init_replicaset.js init_replicaset.js

jhipster /微服务/存储/ src目录/主/泊坞窗/的MongoDB /脚本/ init_replicaset.js

var status = rs.status();
if(status.errmsg === 'no replset config has been received') {
    rs.initiate();
}
for (var i = 1; i <= param; i++) {
    if(i!==1)
        rs.add(folder+"_store-mongodb-node_" + i + ":27017");
}
cfg = rs.conf();
cfg.members[0].host = folder+"_store-mongodb-node_1:27017";
rs.reconfig(cfg);
Run Code Online (Sandbox Code Playgroud)

还是非常感谢.

Dca*_*sky 5

我找到了解决方案.罪魁祸首是.dockerignore文件.您可以在src/main/docker每个应用程序的文件夹中找到它.

解决方案:**/*从内容中删除.dockerignore

**/*
!*.jar
!*.war
Run Code Online (Sandbox Code Playgroud)

Jhipster 4.11.1仍有此问题.我将提交PR以提醒其官员.