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

Docker部署Django应用时挂载Volumes出现文件缺失问题求助

Docker化Django应用挂载Volumes后找不到manage.py的问题解决

问题现象

未挂载Volumes时应用正常运行,挂载后出现如下错误:

django_app  | python: can't open file '/app/manage.py': [Errno 2] No such file or directory

相关配置

docker-compose.yml:

version: '3.8'
services:
  app:
    build: .
    volumes:
      - ./django:/app # 问题出在此处
    ports:
      - "8000:8000"
    image: app:django
    container_name: django_app
    command: python manage.py runserver 0.0.0.0:8000

Dockerfile:

FROM python:3.12.1-slim

ENV PYTHONUNBUFFERED=1 

WORKDIR /app

COPY requirements.txt requirements.txt

RUN pip3 install -r requirements.txt

COPY . .

使用的构建运行命令:

docker-compose build
docker-compose up

解决方法

  • 检查本地挂载目录结构:容器内的/app目录会被本地./django目录挂载覆盖,因此本地./django目录中必须包含manage.py及完整的Django项目文件。如果本地./django并非项目根目录,挂载后容器内/app会直接缺失必要运行文件。
  • 修正挂载路径:如果Django项目根目录就是Dockerfile所在的当前目录,应将挂载路径改为./:/app,确保本地项目文件完整映射到容器/app目录(适用于开发场景代码热重载);若./django是项目子目录,需调整为./django:/app/[对应子目录],避免覆盖容器内已有的项目结构。
  • 明确挂载逻辑:Volumes挂载是用本地目录完全替换容器内目标目录的原有内容,而非合并文件,必须保证本地挂载目录的结构与容器运行所需结构一致。

内容的提问来源于stack exchange,提问作者B A.J Amar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:52:11