当我运行docker-compose的时候,我得到了以下的ERROR: cannot locate specified Dockerfile:Dockerfilehere is my docker-compose file:
version: "3"
services:
player-docker:
build: ./src/main/java/spring/multiple/mongo/project/player
restart: always
ports:
- 8080:8080
depends_on:
- db
game-docker:
build: ./src/main/java/spring/multiple/mongo/project/game
restart: always
ports:
- 8080:8080
depends_on:
- db
score-docker:
build: ./src/main/java/spring/multiple/mongo/project/score
restart: always
ports:
- 8080:8080
depends_on:
- db
db:
image: mongo
volumes:
- mongodata:/data/db
ports:
- "27017:27017"
restart: always
volumes:
mongodata:
我有三个Dockerfiles,分别用于玩家服务,游戏服务和分数服务,在不同的位置,这是我的Dockerfile。
FROM openjdk:8
COPY target/demo-0.0.1-SNAPSHOT.jar score.jar
EXPOSE 8080
ENTRYPOINT ["java","-Dspring.data.mongodb.uri=mongodb://db:27017/","-jar","-Djava.rmi.server.hostname=0.0.0.0", "score.jar"]
我认为你应该修改你的docker-compose文件,类似于下面。
score-docker:
build:
context: ./
dockerfile: ./src/main/java/spring/multiple/mongo/project/score/Dockerfile
重点是,你需要包括你的 target/demo-0.0.1-SNAPSHOT.jar score.jar
到docker构建上下文中。否则,Docker文件 COPY
指令将无法找到文件。targer
同级文件夹 src
文件夹)。)