docker-创建 MySQL 数据库容器时出现错误

docker-compose error when creating MySQL database container

我的 Spring 引导应用程序中有以下 docker-compose.ymlDockerfile 但是当我 运行 docker-compose up -d 时,我收到以下错误:

"failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount967315702/Dockerfile: no such file or directory"

当我使用 Windows10 时,我想我需要一些与 WORKDIR 等相关的调整。我在 Docker 安装了 WSL)。但是即使我尝试了不同的组合,我也没有设法解决问题。

这是我的根项目文件夹 (springboot-backend) 中的 docker-compose.ymlDockerfile

docker-compose.yml:我不确定

version: "3.8"
services:
  mysqldb:
    image: mysql:5.7
    restart: unless-stopped
    env_file: ./.env
    environment:
      - MYSQL_ROOT_PASSWORD=$MYSQLDB_ROOT_PASSWORD
      - MYSQL_DATABASE=$MYSQLDB_DATABASE
    ports:
      - $MYSQLDB_LOCAL_PORT:$MYSQLDB_DOCKER_PORT
    volumes:
      - db:/var/lib/mysql
  app:
    depends_on:
      - mysqldb
    build: ./springboot-backend
    restart: on-failure
    env_file: ./.env
    ports:
      - $SPRING_LOCAL_PORT:$SPRING_DOCKER_PORT
    environment:
      SPRING_APPLICATION_JSON: '{
        "spring.datasource.url"  : "jdbc:mysql://mysqldb:$MYSQLDB_DOCKER_PORT/$MYSQLDB_DATABASE?useSSL=false",
        "spring.datasource.username" : "$MYSQLDB_USER",
        "spring.datasource.password" : "$MYSQLDB_ROOT_PASSWORD",
        "spring.jpa.properties.hibernate.dialect" : "org.hibernate.dialect.MySQL5InnoDBDialect",
        "spring.jpa.hibernate.ddl-auto" : "update"
      }'
    volumes:
      - .m2:/root/.m2
    stdin_open: true
    tty: true
volumes:
  db:

Docker文件:

FROM maven:3.8.2-jdk-8
WORKDIR /springboot-backend
COPY . .
RUN mvn clean install
CMD mvn spring-boot:run

.env 文件:

MYSQLDB_USER=root
MYSQLDB_ROOT_PASSWORD=******
MYSQLDB_DATABASE=employee_management_system
MYSQLDB_LOCAL_PORT=3307
MYSQLDB_DOCKER_PORT=3306
SPRING_LOCAL_PORT=6868
SPRING_DOCKER_PORT=8080

有什么想法吗?

文件夹结构如下:

app:
    depends_on:
      - mysqldb
    build: ./springboot-backend

Docker compose yaml 尝试构建 springboot-backend 但在 compose yaml 的相同路径中没有这样的目录。只需将 docker-compose yaml 移动到 springboot-backend 项目文件夹之外即可。