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

使用docker compose启动容器失败:Dockerfile找不到问题求助

问题描述

运行docker compose build或docker compose up时出现如下错误:

failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount3961901539/Dockerfile: no such file or directory

当前工作目录下已存在Dockerfile和docker-compose.yml文件,内容如下:

Dockerfile

# syntax=docker/dockerfile:1
FROM ubuntu:22.04

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /

RUN apt-get update && apt-get install -y python3.10 python3-pip
RUN apt-get update && apt-get install -y git
RUN apt-get update && apt-get install -y libpq-dev python3-dev


COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

docker-compose.yml

version: "1.1"

services:
  db:
    image: postgres:15-alpine
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres
  backend:
    build: /
    ports:
      - "8000:8000"
    volumes:
      - ./:/backend
    env_file: .env
    command: python manage.py runserver 0.0.0.0:8000
    depends_on:
      - db
    restart: on-failure
  frontend:
    build: frontend/
    ports:
      - "3000:3000"
    volumes:
      - ../frontend/src:/frontend/src
    environment:
      - CHOKIDAR_USEPOLLING=true
    command: npm run dev
    depends_on:
      - backend
问题原因

错误根源是backend服务的build配置错误:build: /指定的是主机系统的根目录作为构建上下文,而非你当前运行命令的工作目录。Docker会到根目录下查找Dockerfile,自然找不到,因此抛出文件不存在的错误。

修复方案
  1. 修正构建上下文配置
    修改docker-compose.yml中backend服务的build字段,将/改为当前目录符号.,这样Docker会以你执行docker compose命令的工作目录作为构建上下文,读取该目录下的Dockerfile:

    backend:
      build: .  # 此处从/改为.
      ports:
        - "8000:8000"
      # 其余配置保持不变
    
  2. 清理Docker缓存(可选)
    如果之前的错误构建留下了无效缓存,可执行以下命令清理所有未使用的Docker资源:

    docker system prune -af
    
  3. 重新构建启动服务
    执行以下命令重新构建并启动所有服务:

    docker compose up --build
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 20:22:06