如果你不想在本地直接安装 Node.js,或者希望 OpenClaw 能在一个完全隔离、互不干扰的环境中运行,那么 Docker 部署是你的最佳选择。
通过 Docker,你可以避免各种本地环境冲突,实现“一次配置,到处运行”。下面我将带你快速完成 OpenClaw 的容器化部署。
为什么选择 Docker 部署?
在开始之前,先看看 Docker 模式是否适合你:
- 优点:环境隔离,不会污染你的主机;支持一键启动和销毁;适合在服务器或 NAS 上长期挂载运行。
- 缺点:如果你是开发者,需要频繁修改 OpenClaw 核心代码并实时预览效果,Docker 的构建过程会比直接运行 Node 慢一些。
如果你追求的是稳定运行和部署简单,请继续往下看。
准备工作
确保你的机器上已经安装了以下工具:
- Docker Desktop (或者 Docker Engine)
- Docker Compose v2 (现在的 Docker Desktop 已经自带了)
你可以通过以下命令检查是否安装成功:
docker --version
docker compose version
一键启动:使用安装向导
OpenClaw 提供了一个非常人性化的脚本 docker-setup.sh,它会自动帮你完成镜像构建和初始配置。
1. 获取代码并进入目录
首先,你需要把 OpenClaw 的代码库克隆到本地:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
2. 运行安装脚本
在终端执行:
./docker-setup.sh
这个脚本会帮你做以下几件事:
- 构建镜像:下载必要的依赖并打包成 OpenClaw 镜像。
- 初始化向导 (Onboarding):终端会跳出交互界面,问你 API Key、模型提供商等信息。这和你直接安装时的步骤是一样的。
- 启动容器:配置完成后,它会自动调用
docker compose启动服务。 - 生成令牌:它会为你生成一个访问 UI 所需的安全 Token,并保存到
.env文件中。
访问控制界面
服务启动后,OpenClaw 的 Gateway(大脑)就在容器里跑起来了。
- 在浏览器中打开:
http://127.0.0.1:18789/ - 关键一步:系统会提示你输入 Token。你可以从刚才脚本的输出中找到它,或者直接查看目录下的
.env文件。 - 将 Token 粘贴到 UI 的设置页面,连接成功后,你就可以开始和 AI 聊天了!
小贴士:如果你忘了 Token 也不想翻文件,可以运行以下命令再次获取:
bashdocker compose run --rm openclaw-cli dashboard --no-open
如何在 Docker 中使用命令行?
因为 OpenClaw 跑在容器里,所以你不能直接在宿主机执行 openclaw xxx。你需要通过 Docker Compose 来“代跳”:
- 查看已连接设备:
docker compose run --rm openclaw-cli devices list
- 登录飞书/微信渠道:
docker compose run --rm openclaw-cli channels login
基本上,只需要在原有的命令前加上 docker compose run --rm openclaw-cli 即可。
进阶:进持久化与自定义配置
默认情况下,Docker 容器销毁后,里面的部分数据可能会丢失。为了让你的 AI 助手拥有“长期记忆”和持久配置,你可以配置 .env 文件:
1. 持久化数据
在 .env 中添加或修改:
OPENCLAW_HOME_VOLUME="openclaw_data"
这会创建一个名为 openclaw_data 的 Docker 卷,保存你的登录状态、浏览器缓存和插件数据。
2. 安装额外的系统包
如果你的某些插件需要 ffmpeg 或其他 Linux 工具,可以在启动前设置:
OPENCLAW_DOCKER_APT_PACKAGES="ffmpeg git jq"
然后重新运行 ./docker-setup.sh 重建镜像。
常见问题排查
- 端口冲突:如果 18789 端口被占用了,你需要在
docker-compose.yml里修改映射端口。 - 权限错误 (EACCES):如果你在 Linux 上遇到权限问题,通常是因为容器内的
node用户没有权限写挂载的文件夹。你可以尝试执行:
sudo chown -R 1000:1000 ~/.openclaw
- 模型连不上:检查容器是否能正常访问外网,或者你的 API Key 是否配置正确。
使用 Docker 部署 OpenClaw,就像是给你的 AI 助手买了一个专用的“胶囊公寓”。它在里面安全、稳定地工作,而不会干扰到你的主系统。
一旦你完成了这一步,你就拥有了一个可以 7x24 小时待命的个人智能体环境!