
众所周知,腾讯云轻应用服务器本身自带Docker,由于自身服务器上面部署有其他应用,重装系统不是很方便,所以这次我使用docker来部署OpenClaw。
使用以下Dockerfile,构建一个OpenClaw镜像(这里我使用的是中文汉化版)
FROM node:22-bookworm
RUN node --version && \
npm install -g openclaw-cn@2026.2.5
WORKDIR /root/clawd
RUN mkdir -p /root/.openclaw
ENV OPENCLAW_CONFIG=/root/.openclaw
EXPOSE 18789
CMD ["openclaw-cn", "gateway", "--port", "18789"]
构建image
docker build -t openclaw-cn:2026.2.5 -f Dockerfile .创建API Key

获取模型配置信息

Base URL: https://dashscope.aliyuncs.com/compatible-mode/v1
模型名称:glm-4.7
vi ~/.openclaw/openclaw.json写入以下内容:
** 替换YOUR_API_KEY为前面获取到的API key **
{
"models": {
"mode": "merge",
"providers": {
"bailian": {
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "YOUR_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "glm-4.7",
"name": "glm-4.7",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 262144,
"maxTokens": 65536
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "bailian/glm-4.7"
},
"workspace": "/root/clawd",
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"gateway": {
"bind": "lan",
"port": 18789,
"mode": "local",
"auth": {
"mode": "token",
"token": "abc123"
}
}
}# 把本地的配置文件目录映射到容器内,实现配置分离
docker run -d -p 18789:18789 -v ~/.openclaw:/root/.openclaw openclaw-cn:2026.2.5
# 检查是否已经启动
docker ps docker exec -it `docker ps | grep openclaw-cn | awk '{print $NF}'` bashopenclaw-cn tui效果如下图:

随便问点问题:

看到有文章介绍OpenClaw的WebUI访问方式需要通过ssh隧道才能实现,略显复杂,所以干脆使用TUI方式进行配置。
其实OpenClaw主要的功能还是Channel和Skill,以及它的Cron,所以UI采用GUI还是TUI其实区别不是特别大(个人观点)。
时间关系,先写到这里,后续继续探讨容器化部署之后如何使用它。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。