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

Docker Compose带-p参数执行run命令时提示配置文件未找到

Docker Compose run命令提示"no configuration file provided: not found"

我的Docker Compose项目配置如下:

services:
  service_1:
    build:
      context: ./
      dockerfile: ./src/Dockerfile
    env_file:
      - ./PROD.env
  service_2:
    build:
      context: ./
      dockerfile: ./src_2/Dockerfile
    env_file:
      - ./PROD.env

服务在Compose文件和Dockerfile中均未指定command,启动后会立即停止,这符合预期。我希望按需通过指定命令启动服务,但执行以下命令时:

docker compose -p project_name run service_1 python app/main.py

始终收到错误提示:

no configuration file provided: not found

但执行不带服务名的命令(如以下这些)时可正常运行:

docker compose -p project_name logs
docker compose -p project_name images

即使项目中有持续运行的服务,对其执行run命令也会出现相同错误。

我的环境是Docker Desktop for Windows,版本信息:

  • Docker Desktop v4.33.1
  • Docker version 27.1.1
  • Docker Compose version v2.29.1-desktop.1

可能的解决方法

1. 明确指定Compose配置文件路径

run命令对配置文件上下文的要求更严格,可通过-f参数直接指定配置文件路径,避免自动查找失败:

docker compose -p project_name -f ./docker-compose.yml run service_1 python app/main.py

如果你的配置文件不是默认的docker-compose.yml,替换为实际文件名即可(比如docker-compose.prod.yml)。

2. 切换到配置文件所在工作目录

如果当前执行命令的目录不是配置文件所在的文件夹,先切换目录再运行命令:

cd /path/to/your/compose/project
docker compose -p project_name run service_1 python app/main.py

3. 验证配置文件有效性

先确认配置文件存在且格式无错误,用以下命令检查:

docker compose -f ./docker-compose.yml config

如果配置有语法问题,会输出具体错误信息,修复后再尝试run命令。

4. 简化命令先测试

可先省略-p参数测试基础命令是否正常,再添加项目名参数:

docker compose run service_1 python app/main.py

测试通过后再补上-p project_name指定项目名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 17:42:38