通过Docker部署OpenClaw
构建Docker镜像
拉取openclaw代码
cd ~
git clone https://github.com/openclaw/openclaw构建镜像
cd openclaw/
# 使用最新的tag构建
LATEST_TAG=$(git tag --sort=-creatordate | head -1) && git checkout $LATEST_TAG && docker build -t openclaw:$LATEST_TAG .查看已有镜像
root@VM-12-10-debian:~/openclaw# docker images
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
nginx:alpine 4870c12cd2ca 93.1MB 26.8MB
nginx:latest c881927c4077 240MB 65.7MB U
openclaw:v2026.1.30 99c84ced9f6a 3.93GB 1.06GB U部署openclaw容器
创建openclaw容器持久化文件夹
cd ~
mkdir -p openclaw-docker/{config,data}
# 设置文件夹权限, 不设置会报错(node 用户 UID 1000)
chown -R 1000:1000 openclaw-docker/{config,data}
cd openclaw-docker创建docker-compose.yml
编辑docker-compose.yml文件, 输入如下内容, 根据所需修改后保存.
关键参数说明
参数项 | 说明 |
|---|---|
镜像:openclaw:v2026.1.30 | 使用的镜像标签, 格式为镜像名:版本号, 根据前面构建镜像时的配置进行设置 |
HTTP_PROXY=http://192.168.1.206:2081 | HTTP代理, 不使用openai等境外chat软件和模型可以不设置 |
HTTPS_PROXY=http://192.168.1.206:2081 | HTTP代理, 不使用openai等境外chat软件和模型可以不设置 |
NO_PROXY="localhost,127.0.0.1,::1" | 设置不使用代理的IP, 和HTTP/HTTPS代理同步设置, 如果不设置代理则这个也需要注释掉 |
version: '3.8'
services:
openclaw-gateway:
image: openclaw:v2026.1.30
container_name: openclaw-gateway
restart: unless-stopped
ports:
- "18789:18789"
volumes:
- ./data/config:/home/node/.openclaw
- ./data/data:/home/node/clawd
extra_hosts:
- "host.docker.internal:host-gateway"
#environment:
# - HTTP_PROXY=http://192.168.1.206:2081
# - HTTPS_PROXY=http://192.168.1.206:2081
# - NO_PROXY="localhost,127.0.0.1,::1"
shm_size: 2g
command: node /app/dist/index.js gateway --port 18789
openclaw-cli:
image: openclaw:v2026.1.30
container_name: openclaw-cli
network_mode: "service:openclaw-gateway"
volumes:
- ./data/config:/home/node/.openclaw
- ./data/data:/home/node/clawd
entrypoint: ["node", "dist/index.js"]初始化openclaw生成配置文件
输入如下命令, 即可开始初始化openclaw配置
docker compose run --rm -it openclaw-cli onboard配置选项可以参考如下例子, 不满意可以后期进行更改, 所以不用担心.
┌ OpenClaw onboarding
│
│
◇ I understand this is powerful and inherently risky. Continue?
│ Yes
│
◇ Onboarding mode
│ Manual
│
◇ What do you want to set up?
│ Local gateway (this machine)
│
◇ Workspace directory
│ /home/node/.openclaw/workspace
│
◇ Model/auth provider
│ Skip for now
│
◇ Filter models by provider
│ All providers
│
◇ Default model
│ Keep current (default: anthropic/claude-opus-4-5)
│
│
◇ Gateway port
│ 18789
│
◇ Gateway bind
│ LAN (0.0.0.0)
│
◇ Gateway auth
│ Password
│
◇ Tailscale exposure
│ Off
│
◇ Gateway password
│ [输入密码并回车, 后续登录openclaw要用]
│
│
◇ Configure chat channels now?
│ No
Updated ~/.openclaw/openclaw.json
Workspace OK: ~/.openclaw/workspace
Sessions OK: ~/.openclaw/agents/main/sessions
│
│
◇ Configure skills now? (recommended)
│ No
│
│
◇ Enable hooks?[注意, 这里要先用"空格"选择`Skip for now`, 然后再输入"回车"确认]
│ Skip for now
│
│
◇
Health check failed: gateway closed (1006 abnormal closure (no close frame)): no close reason
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/node/.openclaw/openclaw.json
Bind: lan
│
│
└ Onboarding complete. Use the tokenized dashboard link above to control OpenClaw.
│
◇ Install shell completion script?
│ Yes
Completion installed. Restart your shell or run: source /home/node/.zshrc启动 gateway 服务
docker compose up -d openclaw-gateway浏览器打开https://[你的域名], 看到如下内容证明启动成功
配对后端openclaw
登录OpenClaw Control后台
点击侧边栏的Overview, 在Password输入初始化时设置的密码, 点击Connect
列出设备
回到服务器终端, 输入如下命令列出终端
docker compose run --rm openclaw-cli devices list如下图为待配对的设备, 记下这个Request
配对设备
配对命令格式如下
docker compose run --rm openclaw-cli devices approve [Request]回到浏览器, 可以看到已链接成功