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

Docker Toolbox执行脚本报错:bash: ./run: No such file or directory

解决Docker Toolbox中./run: No such file or directory的问题

结合你是Windows下Docker Toolbox新手的背景,你遇到的问题核心是容器内路径映射和主机路径不匹配,我给你一步步拆解解决方案:

1. 先排查容器内的实际挂载情况

先暂停脚本执行,手动运行这条命令进入容器,确认/e目录下是否存在run脚本:

docker run -v $(pwd):/e -w /e --entrypoint bash --rm -it bi-tbcnn

进入容器后执行:

ls -l /e

如果看不到run文件,说明挂载路径出了问题——这是Docker Toolbox在Windows下的典型坑:

  • Docker Toolbox依赖VirtualBox虚拟机,默认只自动共享Windows的C:\Users目录到虚拟机的/c/Users路径下。
  • 如果你的项目不在C:\Users目录里,虚拟机无法访问主机上的项目目录,挂载自然会失败。

2. 修复路径映射问题

方案A:迁移项目到默认共享目录

最简单的办法是把bi-tbcnn项目移动到C:\Users\你的用户名文件夹下,然后在Docker Toolbox的bash里进入该项目目录(路径格式为/c/Users/你的用户名/bi-tbcnn),再重新执行脚本。

方案B:手动添加VirtualBox共享文件夹

如果不想移动项目,可按以下步骤操作:

  1. 打开VirtualBox,找到Docker Toolbox创建的默认虚拟机(通常名为default)。
  2. 右键选择「设置」→「共享文件夹」,点击添加按钮:
    • 文件夹路径:选择你主机上的项目目录(比如D:\projects\bi-tbcnn)
    • 文件夹名称:设为bi-tbcnn(自定义名称,方便记忆即可)
    • 勾选「自动挂载」和「固定分配」
  3. 在Docker Toolbox的bash里重启虚拟机:
    docker-machine restart default
    
  4. 修改脚本里的挂载参数,把-v $(pwd):/e替换为:
    -v /bi-tbcnn:/e
    

3. 确保run脚本拥有执行权限

即使挂载正确,如果容器内的run脚本没有执行权限,也会触发错误。你可以在主机的Docker Toolbox bash里执行:

chmod +x run

之后再重新运行脚本。

4. 用绝对路径执行脚本更可靠

把脚本里的-c ./run改成-c /e/run,这样不管容器的工作目录是否正确设置,都能精准找到脚本:

docker run -v $(pwd):/e -w /e --entrypoint bash --rm -it bi-tbcnn -c /e/run

按照上述步骤排查,应该能解决你遇到的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:11:45