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

2026-03-16AI
OpenClaw
OpenClaw

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

<!--more-->

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

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

部署步骤

1. 克隆仓库与配置环境

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

git clone https://github.com/wangyucode/openclaw-docker-compose.git
cd openclaw-docker-compose

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

cp .env.example .env
vi .env

2. 执行初始化 (Onboarding)

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

docker compose run --rm openclaw-cli onboard

3. 启动 OpenClaw

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

docker compose up -d

关键配置解析

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

非 Root 用户运行

user: "1000:1000"

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

禁用权限提升

security_opt:
  - no-new-privileges:true

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

移除不必要的 Capability

cap_drop:
  - ALL

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

持久化存储与权限

volumes:
  - ./.openclaw:/home/node/.openclaw

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

访问控制

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

docker compose run --rm openclaw-cli dashboard --no-open

总结

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

本文原始发表于 https://wycode.cn/blog/openclaw-docker,转载请注明出处

评论区

暂无评论