Docker-compose 错误找不到指定的Docker文件:Docker文件

Docker-compose Error cannot locate specified Dockerfile: Dockerfile

当我 运行 docker-撰写时出现以下错误:无法找到指定的 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 构建上下文中。否则,Dockerfile COPY 指令将无法找到该文件。 (我想你有 targer 文件夹兄弟作为 src 文件夹)。