OpenClaw容器连接失败最常见原因是未配置--add-host host.docker.internal:host-gateway,导致无法解析宿主机Ollama服务;需确保该参数在docker run命令中正确添加,并将Base URL设为http://host.docker.internal:11434,同时Ollama须以OLLAMA_HOST=0.0.0.0:11434启动。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw部署后模型服务连接失败,说明本地容器已启动但无法与后端大模型服务建立通信,常见于API地址错误、网络隔离或认证参数缺失。
检查--add-host参数是否正确配置
OpenClaw容器默认无法解析host.docker.internal,必须显式添加该主机映射才能访问宿主机上的Ollama或其它本地模型服务。
运行容器时务必包含--add-host host.docker.internal:host-gateway参数,否则容器内所有对localhost:11434(Ollama默认端口)的请求都会失败。
如果使用docker run命令启动,确认该参数出现在命令行中且位置在镜像名之前。
【漏掉--add-host会导致容器完全无法访问宿主机服务,此为最常见原因】
验证OLLAMA_MODELS路径是否生效
方法一:进入容器内部检查环境变量
执行docker exec -it your-openc-law-container-name sh → 输入echo $OLLAMA_MODELS → 确认输出为实际模型存储路径(如/home/user/.ollama/models)。
方法二:检查宿主机上Ollama是否真正运行
在宿主机终端运行ollama list,若无任何模型显示或提示“connection refused”,说明Ollama服务未启动或监听地址受限。
Ollama默认只监听127.0.0.1:11434,Docker容器无法直连;需改用OLLAMA_HOST=0.0.0.0:11434启动Ollama,或确保--add-host已生效并走host.docker.internal转发。
确认模型调用协议与端点匹配
第一步:打开OpenClaw Web界面,在设置页查看当前配置的模型API Base URL。
第二步:对比Ollama实际暴露地址——若Ollama运行在宿主机且已设OLLAMA_HOST=0.0.0.0:11434,则Base URL应填http://host.docker.internal:11434/api/chat。
第三步:用curl从容器内手动测试连通性
docker exec -it your-container curl -v http://host.docker.internal:11434/api/tags
返回200且含模型列表JSON,说明网络与端口通;返回Connection refused或timeout,说明前两步仍有问题。


















