如何使用 Docker 安全地部署 OpenClaw (龙虾)

OpenClaw (龙虾) 是一个强大的个人 AI 助手,它可以连接各种消息平台并执行工具。本文介绍如何通过 Docker Compose 安全地部署 OpenClaw,并解析其中的关键配置。

OpenClaw 提供了强大的 AI 能力,但也意味着它需要访问你的文件、工具和 API 密钥。因此,安全性是部署时的首要考量。

参考这个 GitHub 仓库:wangyucode/openclaw-docker-compose

部署步骤

1. 克隆仓库与配置环境

首先,克隆部署配置仓库:

bash 复制代码
git clone https://github.com/wangyucode/openclaw-docker-compose.git
cd openclaw-docker-compose

复制并编辑 .env 文件,填入你的 API 密钥和其他配置:

bash 复制代码
cp .env.example .env
vi .env

2. 执行初始化 (Onboarding)

在启动网关之前,需要运行一次初始化命令来生成必要的配置文件:

bash 复制代码
docker compose run --rm openclaw-cli onboard

3. 启动 OpenClaw

一切就绪后,启动 Docker 容器:

bash 复制代码
docker compose up -d

关键配置解析

为什么我们要这样编写 docker-compose.yml?以下是几个关键的安全配置点:

非 Root 用户运行

yaml 复制代码
user: "1000:1000"

默认情况下,Docker 容器以 root 用户运行。如果容器被攻破,攻击者可能获得宿主机的 root 权限。通过指定 user: "1000:1000"(通常是宿主机的第一个普通用户),我们可以最小化权限。

禁用权限提升

yaml 复制代码
security_opt:
  - no-new-privileges:true

这项配置可以防止容器内的进程通过 setuid 或 setgid 二进制文件获得新的权限。即使攻击者在容器内找到了漏洞,也无法提升权限。

移除不必要的 Capability

yaml 复制代码
cap_drop:
  - ALL

Linux Capabilities 将 root 的特权细分为多个小的权限。默认情况下,Docker 会保留一些常用的权限。通过 cap_drop: [ALL],我们移除了所有特权,只保留最基础的运行环境。

持久化存储与权限

yaml 复制代码
volumes:
  - ./.openclaw:/home/node/.openclaw

将配置文件和工作区映射到宿主机目录,方便备份和管理。注意宿主机目录的权限应与 user 配置一致(例如 chown -R 1000:1000 .openclaw)。

访问控制

OpenClaw 默认运行在 18789 端口。访问 Dashboard 时需要一个 Token,你可以通过以下命令获取:

bash 复制代码
docker compose run --rm openclaw-cli dashboard --no-open

总结

通过 Docker 部署 OpenClaw 不仅简化了环境配置,更重要的是通过容器化技术提供了良好的安全隔离。遵循"最小权限原则",我们可以更放心地让 AI 助手为我们工作。

本文原始发表于 wycode.cn/blog/opencl...,转载请注明出处

相关推荐
甲维斯几秒前
Workbuddy+HY4 略超预期!
人工智能
天远API38 分钟前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
朱涛的自习室44 分钟前
212 个需求、22 万行代码:Agent 接管开源项目的 19 天
android·前端·人工智能
美林数据Tempodata1 小时前
高职大数据技术专业升级的六个落地样本:从产业链需求库到实训室数据链路
大数据·人工智能·数字化转型·产教融合·ai教育
美好世界1 小时前
OpenAI Codex 源码深度剖析(三):执行引擎与内核沙箱深度剖析
人工智能
敖老师1 小时前
Dify 接入高德地图 MCP:Agent 策略、新旧节点与配置全流程避坑指南
人工智能
Front_Yue1 小时前
在 Rokid AIUI 上做「拍照识花」:图像链路与踩坑记录
人工智能
武子康1 小时前
Agent 说“3 passed”就算修好了?先检查是谁判的通过
人工智能·agent
老金带你玩AI1 小时前
ChatGPT上新功能!我做了一个批量生成动态表情包的Skill!
人工智能
stormzhangV1 小时前
AI 的下半场,是全模态与生态的竞争
人工智能·aigc·openai