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

Docker Compose提示“文件或目录不存在”的问题求助

问题解决:Docker Compose多服务容器化部署错误

错误原因

你在根目录的docker-compose.yml里犯了两个关键错误:

  • 既通过include引入了子目录的完整服务配置,又重复定义了backend_django等服务,导致配置冲突
  • 重新定义服务时,build: ./api没有指定正确的Dockerfile路径,Docker会默认在./api根目录找Dockerfile,但你的Django Dockerfile实际在api/compose/local/django/下,所以找不到文件

解决方案

根目录的docker-compose.yml不需要重新定义服务,include指令已经会把子目录frontend/docker-compose.yml和api/docker-compose.yml中的所有服务(包括django、postgres、docs以及前端服务)合并到根配置中。直接使用以下简化的根配置即可:

include:
  - ./frontend/docker-compose.yml
  - ./api/docker-compose.yml

验证方法

在项目根目录执行以下命令,就能同时构建并启动所有服务:

docker compose up --build

额外说明(可选)

如果需要对某个子服务做额外配置(比如调整依赖、端口映射),可以在根目录的docker-compose.yml中覆盖子服务的配置,而不是重新定义整个服务。例如要给django服务加额外依赖:

include:
  - ./frontend/docker-compose.yml
  - ./api/docker-compose.yml

services:
  django:
    depends_on:
      - postgres
      - frontend_vue  # 新增依赖

内容的提问来源于stack exchange,提问作者Kevin B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:12:24