首页 > 解决方案 > 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"]

错误

标签: dockerdocker-composedockerfiledocker-for-windows

解决方案


我认为您应该修改您的 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文件夹)。


推荐阅读