You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker-Compose启动失败:无法找到Backend的Dockerfile

问题:Docker Compose构建后端时提示找不到Dockerfile

问题场景

使用docker-compose.yml部署包含后端(Express)、前端(React)及MySQL数据库的项目,后端和前端目录下分别存放对应Dockerfile。执行docker-compose up -d命令时,MySQL镜像拉取完成,但后端构建失败,报错提示无法找到Dockerfile。

错误日志

(base) omarjandali@omarsMBPM1Max Fotos-React-Express % docker-compose up -d
[+] Running 12/12
 ⠿ mysqldb Pulled                                                                                                                                                                                                                                                                          10.9s
   ⠿ a2a00260331c Pull complete                                                                                                                                                                                                                                                             4.3s
   ⠿ 6d8167f2fcbe Pull complete                                                                                                                                                                                                                                                             4.3s
   ⠿ 32454e9854ca Pull complete                                                                                                                                                                                                                                                             4.4s
   ⠿ 473e2917b0d5 Pull complete                                                                                                                                                                                                                                                             4.5s
   ⠿ 5173f8104ec8 Pull complete                                                                                                                                                                                                                                                             4.6s
   ⠿ 32e218351f9a Pull complete                                                                                                                                                                                                                                                             4.6s
   ⠿ fc9e1a82359a Pull complete                                                                                                                                                                                                                                                             5.2s
   ⠿ c602a3ea2ce7 Pull complete                                                                                                                                                                                                                                                             5.2s
   ⠿ 3c9ea9927039 Pull complete                                                                                                                                                                                                                                                             8.1s
   ⠿ dfb1b236c7fc Pull complete                                                                                                                                                                                                                                                             8.2s
   ⠿ e2ad62bd72a7 Pull complete                                                                                                                                                                                                                                                             8.3s
[+] Building 0.1s (3/4)                                                                                                                                                                                                                                                                          
 => [fotos-react-express-backend internal] load build definition from Dockerfile                                                                                                                                                                                                            0.0s
 => => transferring dockerfile: 126B                                                                                                                                                                                                                                                        0.0s
 => [fotos-react-express-frontend internal] load build definition from Dockerfile                                                                                                                                                                                                           0.0s
 => => transferring dockerfile: 2B                                                                                                                                                                                                                                                          0.0s
 => [fotos-react-express-backend internal] load .dockerignore                                                                                                                                                                                                                               0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                             0.0s
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-mount3723136338/Dockerfile: no such file or directory

配置文件与Dockerfile内容

docker-compose.yml

version: '3.8'

services:
  mysqldb:
    platform: linux/x86_64
    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
    networks:
      - backend
  
  backend:
    depends_on:
      - mysqldb
    build: ./backend
    restart: unless-stopped
    env_file: ./.env
    ports:
      - $NODE_LOCAL_PORT:$NODE_DOCKER_PORT
    environment:
      - DB_HOST=mysqldb
      - DB_USER=$MYSQLDB_USER
      - DB_PASSWORD=$MYSQLDB_ROOT_PASSWORD
      - DB_NAME=$MYSQLDB_DATABASE
      - DB_PORT=$MYSQLDB_DOCKER_PORT
      - CLIENT_ORIGIN=$CLIENT_ORIGIN
    networks:
      - backend
      - frontend

  frontend:
    depends_on:
      - backend
    build:
      context: ./frontend
      args:
        - REACT_APP_API_BASE_URL=$CLIENT_API_BASE_URL
    ports:
      - $REACT_LOCAL_PORT:$REACT_DOCKER_PORT
    networks:
      - frontend  

volumes: 
  db:

networks:
  backend:
  frontend:

后端Dockerfile

FROM node:14

WORKDIR /backend
COPY package.json .
RUN npm install
COPY . .
CMD npm start

前端Dockerfile

FROM node:14 as build-stage

WORKDIR /frontend
COPY package.json .
RUN npm install
COPY . .

ARG REACT_APP_API_BASE_URL
ENV REACT_APP_API_BASE_URL=$REACT_APP_API_BASE_URL

RUN npm run build

项目目录结构

项目根目录为Fotos-React-Express,目录结构如下:

  • .env
  • docker-compose.yml
  • backend/(包含后端代码及Dockerfile)
  • frontend/(包含前端代码及Dockerfile)

解决方案

  1. 检查前端目录下的Dockerfile:错误日志显示前端Dockerfile仅传输了2B,大概率是文件为空或文件名错误。确认frontend目录下存在**Dockerfile**(无后缀、首字母大写),且文件内容完整(与提供的前端Dockerfile一致)。
  2. 验证后端目录的Dockerfile:确保backend目录下的Dockerfile文件名正确、文件存在且内容完整。
  3. 清理缓存重新构建:修复文件问题后,执行以下命令清除构建缓存并重新部署:
    docker-compose build --no-cache
    docker-compose up -d
    

内容的提问来源于stack exchange,提问作者ojandali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:55:48