AI小龙虾OPENCLAW容器化部署说明

openclaw AI小龙虾攻略 1

系统要求

1 硬件要求

  • CPU:4核或以上(支持AVX指令集)
  • 内存:16GB或以上
  • 存储:100GB可用空间(用于模型和数据)

2 软件要求

  • Docker Engine 20.10+
  • Docker Compose 2.0+
  • NVIDIA Container Toolkit(GPU版本需要)
  • 支持的操作系统:Ubuntu 20.04/22.04, CentOS 8+, Debian 11+

快速开始

1 克隆项目

git clone https://github.com/openclaw/ai-crayfish.git
cd ai-crayfish/deployment

2 环境配置

# 复制环境配置文件
cp .env.example .env
# 编辑配置文件
vim .env

3 启动服务

# 启动所有服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f

配置文件说明

1 .env 文件配置

# 基本配置
APP_NAME=OPENCLAW
APP_ENV=production
APP_DEBUG=false
APP_URL=http://localhost:8080
# 数据库配置
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=openclaw
DB_USERNAME=openclaw
DB_PASSWORD=your_secure_password
# Redis配置
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
# 存储配置
STORAGE_PATH=/data/storage
MODEL_PATH=/data/models
# GPU配置(可选)
GPU_ENABLED=true
NVIDIA_VISIBLE_DEVICES=all

2 docker-compose.yml 结构

version: '3.8'
services:
  # 主应用服务
  api:
    image: openclaw/api:latest
    environment:
      - APP_ENV=${APP_ENV}
    volumes:
      - ./data:/data
    ports:
      - "8080:8080"
    depends_on:
      - postgres
      - redis
  # PostgreSQL数据库
  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
  # Redis缓存
  redis:
    image: redis:7-alpine
    volumes:
      - redis_data:/data
  # Web界面
  web:
    image: openclaw/web:latest
    ports:
      - "80:80"
  # 任务队列
  worker:
    image: openclaw/worker:latest
    deploy:
      replicas: 2
volumes:
  postgres_data:
  redis_data:
  model_data:

生产环境部署

1 使用Docker Swarm(推荐)

# 初始化Swarm集群
docker swarm init
# 部署服务栈
docker stack deploy -c docker-compose.prod.yml openclaw
# 查看服务状态
docker service ls

2 Kubernetes部署

# 应用Kubernetes配置
kubectl apply -f k8s/
# 查看Pod状态
kubectl get pods -n openclaw
# 查看服务
kubectl get svc -n openclaw

GPU支持配置

1 安装NVIDIA Container Toolkit

# Ubuntu/Debian
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

2 GPU版本Compose配置

services:
  inference:
    image: openclaw/inference:gpu-latest
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    runtime: nvidia

数据持久化

1 创建数据卷

# 创建数据目录
mkdir -p /opt/openclaw/data/{models,storage,logs}
# 设置权限
chmod -R 755 /opt/openclaw/data

2 Docker卷挂载

volumes:
  - /opt/openclaw/data/models:/data/models:rw
  - /opt/openclaw/data/storage:/data/storage:rw
  - /opt/openclaw/data/logs:/var/log/openclaw:rw

监控和日志

1 添加监控服务

services:
  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
  grafana:
    image: grafana/grafana:latest
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin
    ports:
      - "3000:3000"

2 日志收集

services:
  api:
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

安全和网络

1 网络配置

networks:
  frontend:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.0.0/16
  backend:
    driver: bridge
    internal: true

2 安全配置

# 创建Docker安全配置文件
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
  "userns-remap": "default",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
EOF

备份和恢复

1 数据库备份脚本

#!/bin/bash
# backup.sh
BACKUP_DIR="/opt/openclaw/backup"
DATE=$(date +%Y%m%d_%H%M%S)
docker exec openclaw_postgres_1 pg_dump -U openclaw openclaw > \
  $BACKUP_DIR/openclaw_$DATE.sql
# 保留最近7天的备份
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete

2 模型数据备份

# 使用rsync同步模型数据
rsync -avz /opt/openclaw/data/models/ backup-server:/backup/openclaw/models/

故障排除

1 常见问题

问题1:容器启动失败

# 查看详细日志
docker-compose logs --tail=50 api
# 进入容器调试
docker-compose exec api sh

问题2:GPU不可用

# 检查GPU驱动
nvidia-smi
# 检查容器运行时
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

问题3:内存不足

# 调整容器资源限制
services:
  inference:
    deploy:
      resources:
        limits:
          memory: 8G
        reservations:
          memory: 4G

2 健康检查

services:
  api:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

性能优化

1 调整Swarm参数

# 提高Swarm日志级别
docker swarm update --task-history-limit 50
# 调整服务更新策略
docker service update \
  --update-parallelism 2 \
  --update-delay 10s \
  --update-failure-action rollback \
  openclaw_api

2 容器资源优化

services:
  inference:
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 8G
        reservations:
          cpus: '1.0'
          memory: 4G
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3

扩展部署

1 多节点部署

# 添加工作节点
docker swarm join-token worker
# 标签管理节点
docker node update --label-add role=manager node1
docker node update --label-add gpu=true node2

2 服务扩展

# 横向扩展API服务
docker service scale openclaw_api=3
# 指定节点部署
docker service update \
  --constraint-add 'node.labels.gpu == true' \
  openclaw_inference

附录

A. 常用命令速查

# 构建镜像
docker-compose build
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f [service_name]
# 进入容器
docker-compose exec [service_name] sh
# 更新服务
docker-compose pull && docker-compose up -d
# 清理未使用的资源
docker system prune -a

B. 配置文件模板

完整配置文件模板请参考项目中的 deployment/templates/ 目录。

AI小龙虾OPENCLAW容器化部署说明-第1张图片-官方获取 | OpenClaw下载 - openclaw官网

C. 联系支持

  • 文档:https://docs.openclaw.ai
  • GitHub:https://github.com/openclaw/ai-crayfish/issues
  • 邮箱:support@openclaw.ai

注意:在生产环境部署前,请务必:

  1. 修改所有默认密码
  2. 配置合适的防火墙规则
  3. 启用HTTPS证书
  4. 定期更新镜像和安全补丁
  5. 建立监控告警机制

标签: OPENCLAW 容器化部署

抱歉,评论功能暂时关闭!