在Docker容器中安全运行OpenClaw:无需虚拟机,体验AI助手
-
- 一、引言
- 二、什么是OpenClaw?
- 三、为什么选择Docker?
- 四、前置准备
- 五、详细操作步骤
-
- [1. 创建支持systemd的Docker容器](#1. 创建支持systemd的Docker容器)
- [2. 进入容器并安装基础依赖](#2. 进入容器并安装基础依赖)
- [3. 安装Node.js](#3. 安装Node.js)
- [4. 安装Chrome浏览器](#4. 安装Chrome浏览器)
- [5. 配置中文环境](#5. 配置中文环境)
- [6. 测试浏览器是否正常工作](#6. 测试浏览器是否正常工作)
- [7. 启动systemd用户实例](#7. 启动systemd用户实例)
- [8. 安装OpenClaw](#8. 安装OpenClaw)
- [9. 获取必要的密钥信息](#9. 获取必要的密钥信息)
- [10. 安装飞书插件](#10. 安装飞书插件)
- [11. 创建配置文件](#11. 创建配置文件)
- [12. 启动OpenClaw网关](#12. 启动OpenClaw网关)
- [13. 在飞书中测试](#13. 在飞书中测试)
- [14. 安装为系统服务(可选)](#14. 安装为系统服务(可选))
- 六、总结
一、引言
你是否对AI助手感兴趣,但又担心直接安装在电脑上会影响系统安全或权限?购买云服务器又觉得不划算,使用虚拟机则占用资源过多?本文将介绍一种折中方案------在Docker容器中运行OpenClaw,既能隔离环境保障安全,又轻量便捷,同时支持浏览器功能,让你轻松体验这款AI助手。
本文适合有一定Docker基础,希望以安全、可控制的方式尝试OpenClaw的开发者或技术爱好者。
二、什么是OpenClaw?
OpenClaw 是一款开源的AI助手框架,支持通过多种平台(如飞书)进行交互。它能够调用浏览器执行任务,结合大语言模型(如火山引擎的Doubao模型)完成信息查询、自动化操作等智能任务。
三、为什么选择Docker?
- 安全隔离:不直接占用主机系统权限,避免潜在的安全风险。
- 环境干净:所有依赖和配置封装在容器内,不会污染主机环境。
- 轻量便捷:相比虚拟机,Docker容器启动更快、占用资源更少。
- 易于清理:测试完成后可轻松删除容器,不留痕迹。
四、前置准备
在开始之前,请确保你已准备好:
- 安装好Docker并启动服务。
- 拥有一个飞书账号(用于创建机器人)。
- 注册火山引擎账号并获取API Key(用于调用Doubao模型)。
五、详细操作步骤
1. 创建支持systemd的Docker容器
我们使用一个已经集成systemd的Ubuntu镜像,以便在容器内运行系统服务。
bash
# 如果已有同名容器,先停止并删除
docker stop openclaw_docker
docker rm openclaw_docker
# 创建新容器
docker run -d --name openclaw_docker \
--privileged --net=host \
--tmpfs /tmp \
--tmpfs /run \
--tmpfs /run/lock \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
-v $PWD:/home -w /home \
--cgroupns=host \
-e container=docker \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/trfore/docker-ubuntu2404-systemd:latest /sbin/init
注意 :
--privileged参数会给予容器较高权限,因此请仅在自己可控的环境中使用。
2. 进入容器并安装基础依赖
bash
# 进入容器终端
docker exec -ti openclaw_docker bash
# 更新软件源并安装常用工具
apt update
apt install curl wget vim -y
apt install xz-utils -y
3. 安装Node.js
OpenClaw 基于Node.js开发,因此需要先安装Node.js环境。
bash
# 下载并解压Node.js
wget -O node-v24.13.0-linux-x64.tar.xz https://nodejs.org/dist/v24.13.0/node-v24.13.0-linux-x64.tar.xz
tar -xf node-v24.13.0-linux-x64.tar.xz
cp node-v24.13.0-linux-x64/* /usr/local/ -rf
# 验证安装
node --version
4. 安装Chrome浏览器
OpenClaw 需要浏览器来执行网页操作任务。
bash
# 下载并安装Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dpkg -i google-chrome-stable_current_amd64.deb
apt --fix-broken install -y # 修复可能的依赖问题
5. 配置中文环境
如果你的任务涉及中文网页,建议配置中文字体和语言支持。
bash
# 安装中文字体和语言包
apt-get install -y locales fonts-wqy-zenhei language-pack-zh-hans -y
# 生成中文locale并设置环境变量
locale-gen zh_CN.UTF-8
locale-gen zh_CN.GBK
echo "export LANG=zh_CN.UTF-8" >> ~/.bashrc
echo "export LANGUAGE=zh_CN:zh" >> ~/.bashrc
source ~/.bashrc
6. 测试浏览器是否正常工作
bash
# 使用headless模式截取百度首页,验证浏览器可正常运行
/usr/bin/google-chrome-stable --headless --disable-gpu \
--no-sandbox --screenshot="screenshot.png" \
--window-size=1920,1080 https://www.baidu.com
如果运行成功,当前目录下会生成 screenshot.png 图片。
7. 启动systemd用户实例
OpenClaw 服务依赖于systemd的用户实例来管理。
bash
export XDG_RUNTIME_DIR=/run/user/$(id -u)
mkdir -p $XDG_RUNTIME_DIR
chmod 0700 $XDG_RUNTIME_DIR
systemd --user &
8. 安装OpenClaw
bash
curl -fsSL https://openclaw.bot/install.sh | bash
安装过程中,当看到 "Starting setup..." 提示时,按 Ctrl+C 取消初始配置向导,因为我们后面会手动创建配置文件。
9. 获取必要的密钥信息
10. 安装飞书插件
bash
openclaw plugins install @m1heng-clawd/feishu
11. 创建配置文件
将以下命令中的 feishu_appId、feishu_appSecret、doubao_apiKey 替换为你自己的值,然后执行:
json
# 设置环境变量(请替换为你的实际密钥)
export feishu_appId="<你的飞书appId>"
export feishu_appSecret="<你的飞书appSecret>"
export doubao_apiKey="<你的火山引擎API Key>"
# 生成OpenClaw配置文件
cat > ~/.openclaw/openclaw.json << EOF
{
"meta": {
"lastTouchedVersion": "2026.2.6-3",
"lastTouchedAt": "2026-02-08T07:21:25.150Z"
},
"wizard": {
"lastRunAt": "2026-02-08T07:21:25.140Z",
"lastRunVersion": "2026.2.6-3",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true,
"defaultProfile": "desktop",
"profiles": {
"desktop": { "cdpUrl": "http://127.0.0.1:9222",color: "#00AA00" }
}
},
"auth": {
"profiles": {
"doubao:default": { "provider": "doubao", "mode": "api_key" }
}
},
"models": {
"providers": {
"doubao": {
"baseUrl": "https://ark.cn-beijing.volces.com/api/v3",
"apiKey": "$doubao_apiKey",
"api": "openai-completions",
"models": [
{
"id": "doubao-seed-1-8-251228",
"name": "doubao-seed-1-8-251228",
"reasoning": false,
"input": ["text"],
"cost": {"input": 0,"output": 0,"cacheRead": 0,"cacheWrite": 0},
"contextWindow": 128000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "doubao/doubao-seed-1-8-251228"
},
"models": {
"doubao/doubao-seed-1-8-251228": { "alias": "doubao" }
},
"workspace": "/root/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {"maxConcurrent": 8}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto",
"restart": true
},
"channels": {
"feishu": {
"enabled": true,
"appId": "$feishu_appId",
"appSecret": "$feishu_appSecret",
"domain": "feishu",
"groupPolicy": "open",
"dmPolicy": "open",
"allowFrom": ["*"]
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"controlUi": {"allowInsecureAuth": true},
"auth": {
"mode": "token",
"token": "94d6e2dd73d8b31075ac706465c5a1a7a96e662e5992cf8b"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"plugins": {
"entries": {
"feishu": {
"enabled": true
}
},
"installs": {
"feishu": {
"source": "npm",
"spec": "@m1heng-clawd/feishu",
"installPath": "/root/.openclaw/extensions/feishu",
"version": "0.1.7",
"installedAt": "2026-02-08T06:22:56.392Z"
}
}
}
}
EOF
12. 启动OpenClaw网关
bash
openclaw gateway
如果一切正常,你会看到网关启动成功的日志信息。
13. 在飞书中测试
打开手机飞书APP,找到你创建的机器人,开始对话。


14. 安装为系统服务(可选)
如果你希望OpenClaw在后台持续运行,可以将其安装为systemd服务:
bash
openclaw gateway install
# 查看服务状态
systemctl --user status openclaw-gateway.service
# 停止服务
systemctl --user stop openclaw-gateway.service
六、总结
通过Docker容器运行OpenClaw,你在获得完整功能体验的同时,也保证了主机系统的安全与洁净。这种方式特别适合短期测试、学习研究或多环境隔离使用的场景。
现在,你已拥有一个运行在隔离环境中的AI助手,可以安全地探索其各项功能了。如果在配置过程中遇到问题,可以参考OpenClaw官方文档或相关社区进行交流。
本文基于实践编写,部分配置可能随版本更新而变化,请以官方文档为准。