Docker Desktop本地运行OpenClaw:开发者容器化一键启动完整指南
教程说明:本文专为开发者设计,教你用Docker Desktop在本地Windows或Mac上以容器化方式部署OpenClaw。相比直接安装Node.js,Docker方案的优势是环境隔离、版本冻结、一键迁移——今天在你的开发机配置好,明天换到任何一台安装了Docker的电脑,一行命令即可恢复运行。适合喜欢用容器管理服务的开发者。
为什么开发者更喜欢Docker Desktop运行OpenClaw?
许多开发者电脑上同时管理多个Node.js版本,npm全局包相互干扰是常见痛点。用Docker Desktop运行OpenClaw可以彻底解决这个问题:OpenClaw及其所有依赖都封装在独立容器里,与宿主机的Node.js环境完全隔离,不会相互影响。而且Docker Desktop在Windows和Mac上都有图形化界面,容器的启动、停止、日志查看都变得非常直观。
另一个重要优势是可重复性。你可以把OpenClaw的docker-compose配置文件提交到Git仓库,团队成员拉取后只需要一条命令就能运行相同配置的AI助理。这对于需要团队共享OpenClaw配置的企业用户非常有价值。
第一步:安装Docker Desktop
Docker Desktop需要从官网下载,安装包体积约600-800MB。在国内下载速度可能较慢,建议先连接VPN再下载。
Windows安装要求
- • Windows 10 21H2 / Windows 11(64位)
- • 至少 8GB RAM(推荐16GB)
- • 启用Hyper-V和WSL2(安装时自动提示)
- • BIOS中开启虚拟化(VT-x/AMD-V)
- • 硬盘空余空间 ≥ 20GB
macOS安装要求
- • macOS 13(Ventura)及以上
- • Apple Silicon (M1/M2/M3/M4) 或 Intel
- • 至少 8GB RAM
- • 硬盘空余空间 ≥ 20GB
- • M系列芯片原生支持,无需Rosetta
# macOS推荐:用Homebrew安装
brew install --cask docker
# 安装完成后,从启动台打开Docker Desktop
# 或者命令行启动:
open /Applications/Docker.app
# Windows:直接从官网下载安装包
# https://www.docker.com/products/docker-desktop/
# 下载 Docker Desktop Installer.exe 双击安装即可
第二步:创建OpenClaw的docker-compose配置
Docker Desktop安装并启动后,我们需要创建一个目录存放OpenClaw配置,然后编写docker-compose.yml文件。打开终端(Windows用PowerShell,Mac用Terminal):
# 创建OpenClaw工作目录
mkdir ~/openclaw-docker
cd ~/openclaw-docker
# 创建数据持久化目录(AI记忆和配置会保存在这里)
mkdir -p data config
在 ~/openclaw-docker/ 目录下创建 docker-compose.yml 文件,内容如下:
version: '3.8'
services:
openclaw:
image: node:22-alpine
container_name: openclaw
restart: unless-stopped
working_dir: /app
volumes:
- ./data:/root/.openclaw # 持久化AI记忆和配置
- ./config:/app/config # 自定义配置文件
environment:
- NODE_ENV=production
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- HTTP_PROXY=${HTTP_PROXY:-}
- HTTPS_PROXY=${HTTPS_PROXY:-}
ports:
- "3000:3000" # Web界面端口(可选)
command: >
sh -c "npm install -g openclaw
&& openclaw start"
networks:
- openclaw-net
networks:
openclaw-net:
driver: bridge
第三步:配置环境变量(API Key)
创建 .env 文件存储敏感配置(此文件不要提交到Git):
# Anthropic Claude API Key
ANTHROPIC_API_KEY=sk-ant-api03-你的密钥
# 如果使用OpenAI
OPENAI_API_KEY=sk-你的密钥
# VPN代理设置(如果你的Docker不走系统VPN)
# HTTP_PROXY=http://host.docker.internal:7890
# HTTPS_PROXY=http://host.docker.internal:7890
Docker容器访问宿主机VPN的关键设置
Docker容器默认通过独立网络栈运行,不会自动继承宿主机的VPN隧道。如果你的宿主机开了VPN,需要在.env中设置HTTP_PROXY指向宿主机的代理端口。在Docker中,宿主机地址固定为 host.docker.internal(Windows/Mac有效),例如:HTTP_PROXY=http://host.docker.internal:7890(7890替换为你的VPN监听端口)。
第四步:启动OpenClaw容器
# 进入工作目录
cd ~/openclaw-docker
# 首次启动(会自动下载Node.js镜像并安装OpenClaw)
docker compose up -d
# 查看启动日志(首次安装需要等待约2-3分钟)
docker compose logs -f openclaw
# 进入容器内执行onboard初始配置
docker compose exec openclaw openclaw onboard
# 查看运行状态
docker compose ps
# 停止OpenClaw
docker compose stop
# 完全移除(保留data目录中的数据)
docker compose down
第五步:用Docker Desktop图形界面管理OpenClaw
启动容器后,打开Docker Desktop的图形界面,你可以非常直观地管理OpenClaw:
Containers标签页
查看openclaw容器的运行状态(绿色表示运行中),一键Start/Stop/Restart,直接在浏览器中查看实时日志,无需命令行。
Exec标签页(容器内终端)
点击容器名→Exec,可以直接在图形界面中打开容器内的Shell,执行openclaw命令,查看配置等。
Volumes标签页(数据持久化)
查看挂载的data目录,确认AI记忆和配置正确保存。即使容器被删除,数据也不会丢失。
进阶:自定义Dockerfile固定OpenClaw版本
如果你希望使用固定版本的OpenClaw(避免自动更新带来的意外变化),可以创建自定义Dockerfile:
FROM node:22-alpine
# 安装必要工具
RUN apk add --no-cache git curl
# 全局安装指定版本的OpenClaw
RUN npm install -g openclaw@latest
# 创建工作目录
WORKDIR /app
RUN mkdir -p /root/.openclaw
# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s \
CMD openclaw status || exit 1
# 默认命令
CMD ["openclaw", "start"]
Docker部署OpenClaw常见问题
❌ 问题:docker pull拉取镜像超时
原因:Docker Hub在国内访问受限。解决:在Docker Desktop设置→Docker Engine中添加国内镜像加速:"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],或者开启系统VPN并在Docker Desktop设置中启用"Use system proxy"。
⚠️ 问题:容器内OpenClaw无法访问AI API
原因:容器不走宿主机VPN。解决:在.env文件中添加 HTTP_PROXY=http://host.docker.internal:你的VPN端口,然后执行 docker compose up -d --force-recreate 重建容器。
💡 问题:Windows上Docker Desktop需要WSL2
Docker Desktop 4.x在Windows上默认使用WSL2后端。安装时会自动引导你安装WSL2,只需按提示操作即可。安装完成后建议重启Windows,Docker Desktop会自动配置好WSL2集成。
✅ 如何备份和迁移OpenClaw配置
所有重要数据都在 ~/openclaw-docker/data/ 目录下。备份只需压缩这个目录:zip -r openclaw-backup.zip data/ .env。迁移到新机器时,解压后运行 docker compose up -d 即可恢复完整的AI记忆和配置。