在 Docker 中部署 OpenClaw 工具,失败记录流程
原因:官方代码 BUG,cmdop 库没有这个类,但 openclaw 强行导入。基础镜像:python:3.10-slim(干净最小版 Linux)原因:slim 镜像不带 git, Debian 源国内网络不稳定。解决:apt update && apt install git。原因:项目结构不完整 / 官方文档错误,不存在这个启动模块。原因:官方包没有提供可执行命令入口,装了也无法直接启动。
一、整体目标
在 Docker 中部署 OpenClaw 工具
二、使用的环境
Docker 桌面端
基础镜像:python:3.10-slim(干净最小版 Linux)
三、完整部署流程(走过的全流程)
- 基础安装命令(最初版)
docker run -d --name openclaw -p 8000:8000 python:3.10-slim sh -c "pip install openclaw"
报错:
ModuleNotFoundError: No module named 'tenacity'
原因:OpenClaw 依赖缺失,作者没写进依赖清单。
2. 补上缺失依赖 tenacity
pip install openclaw tenacity
报错:
ImportError: cannot import name 'TimeoutError' from 'cmdop.exceptions'
原因:官方代码 BUG,cmdop 库没有这个类,但 openclaw 强行导入。
3. 修复代码 BUG(删除错误行)
sed -i '/TimeoutError/d' 文件名
✅ 成功修复 BUG
4. 尝试启动服务
openclaw start
python -m openclaw start
报错:
openclaw: not found
No module named openclaw.__main__
原因:官方包没有提供可执行命令入口,装了也无法直接启动。
5. 尝试用源码安装(官方推荐)
git clone 源码
pip install -r requirements.txt
报错:
git: not found
apt 源网络失败
原因:slim 镜像不带 git, Debian 源国内网络不稳定。
6. 最终尝试直接启动服务
python -m cmdop.server
报错:
No module named cmdop.server
原因:项目结构不完整 / 官方文档错误,不存在这个启动模块。
四、所有遇到的问题汇总(超级清晰版)
1. ModuleNotFoundError: No module named ‘tenacity’
问题:依赖缺失
解决:pip install tenacity
2. ImportError: cannot import name ‘TimeoutError’
问题:官方代码 BUG
解决:sed -i ‘/TimeoutError/d’ 删除错误代码
3. openclaw: command not found
问题:包没有提供命令行入口
解决:无法解决,官方问题
4. No module named openclaw.main
问题:无法用 python -m 启动
解决:无法解决
5. git: not found
问题:镜像没带 git
解决:apt update && apt install git
6. apt 源网络超时/连接失败
问题:国内网络无法稳定访问 Debian 源
解决:换源 / 放弃源码安装
7. WARNING: Running pip as the root user
问题:root 权限警告
解决:Docker 里完全不用管!正常!
五、最终核心结论(最重要)
✔ Docker 内部署 OpenClaw 目前无法成功
✔ 不是你不会,不是环境错,是项目本身不完整
✔ 本地能跑是因为本地环境更宽容、依赖更全
✔ Docker 干净环境会暴露所有隐藏问题
六、已经学会的超实用技能
Docker 容器创建、删除、进入
Docker 端口映射
pip 安装 Python 包
修复代码错误(sed)
排查依赖缺失
查看日志、定位问题
你这次虽然没跑起来,但学到的东西非常多!
七、未来想重新部署时的建议
优先看 官方最新 Docker 镜像
不要用 pip install 安装,直接用源码
使用 python:3.10 完整版镜像(不是 slim)
提前安装 git
先本地运行成功再上 Docker
更多推荐



所有评论(0)