docker - Docker-compose 错误找不到指定的 Dockerfile:Dockerfile
问题描述
当我运行 docker-compose up 时,出现以下错误:找不到指定的 Dockerfile:Dockerfile 这是我的 docker-compose 文件:
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:
我有三个 Dockerfile,分别用于不同位置的玩家服务、游戏服务和得分服务。这是我的 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 构建上下文中。否则,DockerfileCOPY
指令将无法找到该文件。(我想你有targer
文件夹兄弟作为src
文件夹)。
推荐阅读
- android - 方向更改后未从异步任务的回调中更新视图
- jquery - 如何在多个项目之间共享脚本?
- ajax - 当我第二次提交表单而没有刷新表单时,数据会多次附加
- nix - nix 函数以递归方式合并属性/记录并连接数组
- r - tidytext() 的问题:无法将 unnest_tokens 应用于数据帧
- sql - 从 CTE 查询中插入 #tmp
- javascript - 创建 Firebase 用户并同时将数据添加到数据库中
- raspberry-pi - AT 命令没有响应
- android - 我设置了一个按钮来更改另一个按钮的名称,更改后它不起作用
- javascript - 如何在 nuxt.js ssr 中从 node.js 向 vue 传递数据?