这里记录一下用 Docker 运行OpenClaw。第一次运行需要先执行onboard完成初始化,之后再以后台方式启动gateway。
先执行初始化:
docker run -it --rm \
--user root \
-e HOME=/home/node \
-e NODE_ENV=production \
-e TERM=xterm-256color \
-e XDG_CONFIG_HOME=/home/node/.openclaw \
-e PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
-v /opt/openclaw:/home/node/.openclaw \
-v /opt/openclaw/workspace:/home/node/.openclaw/workspace \
ghcr.io/openclaw/openclaw:latest \
node dist/index.js onboard
初始化命令使用--rm,执行完成后容器会自动删除,但配置会保存在宿主机的/opt/openclaw目录。
后台启动服务:
docker run -d \
--name openclaw \
--restart always \
--network host \
--user root \
-e HOME=/home/node \
-e NODE_ENV=production \
-e TERM=xterm-256color \
-e XDG_CONFIG_HOME=/home/node/.openclaw \
-e PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
-v /opt/openclaw:/home/node/.openclaw \
-v /opt/openclaw/workspace:/home/node/.openclaw/workspace \
ghcr.io/openclaw/openclaw:latest \
node dist/index.js gateway --bind lan --port 5099
其中:
/opt/openclaw用于保存 OpenClaw 配置/opt/openclaw/workspace用于保存工作目录--network host表示直接使用宿主机网络--bind lan --port 5099表示在局域网监听5099端口
启动后可以查看容器状态:
docker ps | grep openclaw
查看日志:
docker logs -f openclaw
如果需要重新初始化,可以先停止并删除后台容器,再执行onboard命令:
docker stop openclaw
docker rm openclaw