一、引言

你是否对AI助手感兴趣,但又担心直接安装在电脑上会影响系统安全或权限?购买云服务器又觉得不划算,使用虚拟机则占用资源过多?本文将介绍一种折中方案——在Docker容器中运行OpenClaw,既能隔离环境保障安全,又轻量便捷,同时支持浏览器功能,让你轻松体验这款AI助手。

本文适合有一定Docker基础,希望以安全、可控制的方式尝试OpenClaw的开发者或技术爱好者。


二、什么是OpenClaw?

OpenClaw 是一款开源的AI助手框架,支持通过多种平台(如飞书)进行交互。它能够调用浏览器执行任务,结合大语言模型(如火山引擎的Doubao模型)完成信息查询、自动化操作等智能任务。

三、为什么选择Docker?

  • 安全隔离:不直接占用主机系统权限,避免潜在的安全风险。
  • 环境干净:所有依赖和配置封装在容器内,不会污染主机环境。
  • 轻量便捷:相比虚拟机,Docker容器启动更快、占用资源更少。
  • 易于清理:测试完成后可轻松删除容器,不留痕迹。

四、前置准备

在开始之前,请确保你已准备好:

  1. 安装好Docker并启动服务。
  2. 拥有一个飞书账号(用于创建机器人)。
  3. 注册火山引擎账号并获取API Key(用于调用Doubao模型)。

五、详细操作步骤

1. 创建支持systemd的Docker容器

我们使用一个已经集成systemd的Ubuntu镜像,以便在容器内运行系统服务。

# 如果已有同名容器,先停止并删除
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 参数会给予容器较高权限,因此请仅在自己可控的环境中使用。

或者使用已经做好的镜像【在阿里云ECS上测试可用】

# 1、创建容器
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/hi20240217/pub:openclaw_in_docker /sbin/init

# 2、进入容器
docker exec -ti openclaw_docker bash	

# 3、设置环境变量(请替换为你的实际密钥)
vim /opt/run.sh

# 4、开始运行gateway
/opt/run.sh

# 5、手机打开飞书开始对话

2. 进入容器并安装基础依赖

# 进入容器终端
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环境。

# 下载并解压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 需要浏览器来执行网页操作任务。

# 下载并安装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. 配置中文环境

如果你的任务涉及中文网页,建议配置中文字体和语言支持。

# 安装中文字体和语言包
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. 测试浏览器是否正常工作

# 使用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的用户实例来管理。

export XDG_RUNTIME_DIR=/run/user/$(id -u)
mkdir -p $XDG_RUNTIME_DIR
chmod 0700 $XDG_RUNTIME_DIR
systemd --user &

8. 安装OpenClaw

curl -fsSL https://openclaw.bot/install.sh | bash

安装过程中,当看到 “Starting setup…” 提示时,按 Ctrl+C 取消初始配置向导,因为我们后面会手动创建配置文件。

9. 获取必要的密钥信息

10. 安装飞书插件

openclaw plugins install @m1heng-clawd/feishu

11. 创建配置文件

将以下命令中的 feishu_appIdfeishu_appSecretdoubao_apiKey 替换为你自己的值,然后执行:

# 设置环境变量(请替换为你的实际密钥)
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网关

openclaw gateway

如果一切正常,你会看到网关启动成功的日志信息。

13. 在飞书中测试

打开手机飞书APP,找到你创建的机器人,开始对话。
在这里插入图片描述
在这里插入图片描述

14. 安装为系统服务(可选)

如果你希望OpenClaw在后台持续运行,可以将其安装为systemd服务:

openclaw gateway install

# 查看服务状态
systemctl --user status openclaw-gateway.service

# 停止服务
systemctl --user stop openclaw-gateway.service

六、总结

通过Docker容器运行OpenClaw,你在获得完整功能体验的同时,也保证了主机系统的安全与洁净。这种方式特别适合短期测试、学习研究或多环境隔离使用的场景。
现在,你已拥有一个运行在隔离环境中的AI助手,可以安全地探索其各项功能了。如果在配置过程中遇到问题,可以参考OpenClaw官方文档或相关社区进行交流。


本文基于实践编写,部分配置可能随版本更新而变化,请以官方文档为准。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐