Ubuntu本地运行QuantConnect LEAN引擎遇Docker 400客户端错误
解决LEAN CLI回测时Docker挂载临时文件不存在的问题
Error: 400 Client Error for http+docker://localhost/v1.41/containers/create?name=lean_cli_0739587438b94317948c15d649098bea: Bad Request ("invalid mount config for type "bind": bind source path does not exist:
/tmp/lean-cli-kapzl8hj/config.json")
这个问题的核心是Ubuntu 22.04的tmpfs自动清理机制删除了LEAN CLI默认在/tmp目录下生成的临时配置文件,重启系统后该目录被清空,导致Docker挂载时找不到指定路径。重装Docker后临时文件会重新生成所以暂时可用,但重启后又会被清理。
解决方案步骤
1. 手动指定LEAN CLI的临时目录
避免系统自动清理临时文件,将LEAN CLI的临时目录设置到用户专属路径:
- 临时生效(当前会话):
export LEAN_CLI_TEMP_DIR=~/.lean-cli-temp - 永久生效(所有会话):
编辑~/.bashrc(或~/.zshrc,根据你使用的shell),添加上述环境变量,然后执行:source ~/.bashrc
2. 确保Docker权限配置正确
验证当前用户拥有Docker操作权限:
- 将用户加入docker组:
sudo usermod -aG docker $USER - 刷新组权限(无需重启):
newgrp docker - 测试Docker运行状态:
docker run --rm hello-world
3. 清理残留缓存并重新初始化
- 删除
/tmp下所有LEAN CLI残留的临时目录:rm -rf /tmp/lean-cli-* - 重新初始化LEAN CLI配置:
lean init
4. 测试回测命令
进入你的项目目录,执行回测命令验证:
lean backtest .
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

