← 返回首页

Docker 部署 OpenClaw

使用 Docker 容器化部署,环境隔离更安全

💡 Docker 部署优势

前置要求

部署步骤

1安装 Docker

Ubuntu/Debian:

sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker

CentOS/RHEL:

sudo yum install -y docker docker-compose
sudo systemctl enable docker
sudo systemctl start docker

macOS:

下载并安装 Docker Desktop

2创建配置目录

mkdir -p ~/openclaw
cd ~/openclaw

3创建 Docker Compose 配置

创建 docker-compose.yml 文件:

version: '3.8'

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    ports:
      - "127.0.0.1:18789:18789"
    volumes:
      - openclaw-data:/root/.openclaw
    environment:
      - TZ=Asia/Shanghai
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    cap_add:
      - NET_BIND_SERVICE

volumes:
  openclaw-data:

4启动容器

cd ~/openclaw
docker compose up -d

查看运行状态:

docker compose logs -f

5初始化配置

进入容器进行初始化:

docker compose exec openclaw openclaw onboard

按提示完成配置:

6验证部署

# 检查容器状态
docker ps

# 测试健康检查
curl http://127.0.0.1:18789/health

常用命令

# 启动
docker compose start

# 停止
docker compose stop

# 重启
docker compose restart

# 查看日志
docker compose logs -f

# 更新镜像
docker compose pull
docker compose up -d

# 进入容器
docker compose exec openclaw /bin/bash

安全配置

生产环境建议:

# 只绑定本地访问
ports:
  - "127.0.0.1:18789:18789"

# 使用反向代理 + HTTPS
# 推荐 Caddy 或 Nginx + SSL 证书

数据持久化

配置文件中提到的数据目录:

常见问题

Q: 端口被占用?

修改 docker-compose.yml 中的端口映射

Q: 内存不足?

创建 Swap 或增加主机内存

Q: 如何更新?

docker compose pull
docker compose up -d