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

如何在非默认工作目录下执行docker-compose run命令

正确操作方案

你之前的命令报错是因为docker-compose run的参数顺序不符合要求,服务名后的内容会被默认识别为要执行的命令及参数,无法直接指定工作目录。你可以通过以下两种方式实现需求:

  • 临时修改单次run命令的工作目录
    使用-w(即--workdir)参数直接指定容器内的目标工作目录绝对路径,命令如下:
    docker-compose run -w /src my_container my-task
    
  • 永久修改该服务的默认工作目录
    如果你希望该服务所有启动场景(包括docker-compose up、所有docker-compose run调用)都默认使用/src作为工作目录,可以直接在docker-compose.yml对应服务的配置中新增working_dir字段:
    services:
      my_container:
        build: .
        working_dir: /src
        # 其余原有配置保持不变
    
    修改配置后执行docker-compose build更新服务配置,后续调用docker-compose run my_container my-task就会默认在/src目录执行命令。

补充说明:如果你需要将宿主机的src目录内容同步到容器内的/src路径,需要在服务配置中新增挂载配置:

volumes:
  - ./src:/src

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:57:04