OpenClaw Docker 部署:调用本地模型

2026-05-06阅读 0热度 0
ai OpenClaw docker 容器

OpenClaw Docker 部署:调用本地模型

如果你已经有一台装好Docker的服务器,并且想在本地调用自己的大模型(比如用vLLM、llama.cpp或Ollama部署的服务),那么通过Docker容器来运行OpenClaw会是一个高效又省心的选择。下面这套流程,能帮你快速搭起来。


一、前提条件

动手之前,先确认几件事儿。首先,Docker得是装好的,跑个docker run hello-world命令能通过就行。最关键的是,你得已经部署好了一个提供OpenAI兼容API的本地模型服务。这里有几个关键信息需要你提前准备好:

  • 服务地址:比如 http://192.168.12.99:8000
  • 接口路径:必然是 POST /v1/chat/completions
  • 模型ID:这个要看你的具体服务,例如 zai-org/GLM-4.7-Flash

另外,如果服务端设置了鉴权,记得备好API Key;要是没鉴权,随便写个占位字符串也能用。


二、准备配置目录

第一步,在宿主机上创建一个专属的配置目录。打开终端,执行下面这条命令就行:

mkdir -p ~/.openclaw


三、编写配置文件

配置目录有了,接下来就是核心环节——写配置文件。在刚创建的目录里,新建一个openclaw.json文件:

nano ~/.openclaw/openclaw.json

然后把下面的配置模板粘贴进去。注意了,这里有几个关键值必须按你的实际情况修改:

  1. baseUrl:你的本地模型服务地址。
  2. apiKey:对应服务的API Key。
  3. 模型id:务必和模型服务里的ID保持一致。
  4. gateway.auth.token:Web控制台的登录凭证,改成你自己生成的一串复杂字符串。

{
"models": {
"providers": {
"vllm": {
"baseUrl": "http://10.1.201.196:8000/v1",
"apiKey": "vllm-local",
"api": "openai-completions",
"models": [{
"id": "zai-org/GLM-4.7-Flash",
"name": "GLM-4.7 Flash (vLLM)",
"contextWindow": 32768,
"maxTokens": 4096
}]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "vllm/zai-org/GLM-4.7-Flash"
},
"workspace": "/home/node/.openclaw/workspace"
}
},
"gateway": {
"bind": "lan",
"mode": "local",
"port": 18789,
"auth": {
"mode": "token",
"token": "请替换为自定义的一串长 token"
},
"controlUi": {
"allowInsecureAuth": true,
"dangerouslyDisableDeviceAuth": true
}
}
}

为了方便你核对,这里把几个核心配置项拎出来说明一下:

配置项 说明与示例
baseUrl 本地模型服务的根地址,确保容器内能访问。例如:http://192.168.12.99:8000/v1
apiKey 如果本地服务没有鉴权,填任意字符串即可;有鉴权则填入真实的Key。
id / primary 此处填写的模型ID,必须与本地服务中实际部署的模型ID完全一致。
token 这是登录Web控制台的密码,务必替换成你自己生成的一串高复杂度随机字符串。

四、拉取镜像并启动容器

配置写完,就可以启动容器了。依次执行下面两条命令,先拉取最新的镜像,然后以守护进程模式运行容器。

docker pull ghcr.io/openclaw/openclaw:latest

docker run -d \
--name openclaw \
--restart unless-stopped \
-p 18789:18789 \
-v ~/.openclaw:/home/node/.openclaw \
ghcr.io/openclaw/openclaw:latest

这条docker run命令做了几件事:把容器命名为openclaw,设置自动重启,将宿主机的18789端口映射到容器内,最后把本地的配置目录挂载进去。


五、权限问题(EACCES)

如果容器启动后,查看日志发现有类似EACCES: permission denied这样的报错(比如在写入workspace/AGENTS.md文件时),别慌。这通常是挂载目录的权限问题。回到宿主机,执行下面这组命令修复一下:

sudo chown -R 1000:1000 ~/.openclaw
sudo chmod -R 755 ~/.openclaw
docker restart openclaw


六、访问与验证

一切就绪后,我们来验证服务是否正常。

  • 查看日志:运行 docker logs -f openclaw,可以实时查看容器日志,确保没有报错。
  • 访问Web控制台:打开浏览器,访问 http://<你的宿主机IP>:18789(例如http://192.168.12.99:18789)。
  • 登录并测试:在登录界面输入配置文件中设置的 gateway.auth.token。进入控制台后,试着发条消息,如果一切正常,请求就会被发送到你配置的本地模型服务并得到回复。

七、常用命令

把下面这几个命令存好,日常管理和排错都用得上:

docker logs -f openclaw # 实时查看日志
docker restart openclaw # 修改配置后,重启容器生效
docker stop openclaw # 停止容器
docker rm -f openclaw # 删除容器(配置文件仍保存在 ~/.openclaw 目录中)


本文使用镜像:ghcr.io/openclaw/openclaw:latest

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策