通过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://[你的域名], 看到如下内容证明启动成功
2026-03-04T01:16:26.png

配对后端openclaw

登录OpenClaw Control后台
点击侧边栏的Overview, 在Password输入初始化时设置的密码, 点击Connect
2026-03-04T01:18:02.png

列出设备

回到服务器终端, 输入如下命令列出终端

docker compose run --rm openclaw-cli devices list

如下图为待配对的设备, 记下这个Request
2026-03-04T01:20:12.png

配对设备

配对命令格式如下

docker compose run --rm openclaw-cli devices approve [Request]

回到浏览器, 可以看到已链接成功
2026-03-04T01:21:08.png

最后修改:2026 年 03 月 04 日
如果觉得我的文章对你有用,请随意赞赏