Docker 快速启动(推荐)
前提条件
# 确保已安装 Docker Compose(可选但推荐) docker-compose --version
拉取镜像并运行
# 从 Docker Hub 拉取镜像(假设镜像已发布) docker pull openclaw/ai-crawfish:latest # 运行容器(基础模式) docker run -d \ --name openclaw \ -p 7860:7860 \ -v ./data:/app/data \ openclaw/ai-crawfish:latest # 访问应用 # 浏览器打开:http://localhost:7860
使用 Docker Compose(完整配置)
创建 docker-compose.yml:

version: '3.8'
services:
openclaw:
image: openclaw/ai-crawfish:latest
container_name: ai-openclaw
restart: unless-stopped
ports:
- "7860:7860"
- "8000:8000" # API端口(如有)
volumes:
- ./data:/app/data # 数据持久化
- ./logs:/app/logs # 日志目录
- ./config:/app/config # 配置文件
environment:
- OPENCLAW_ENV=production
- OPENCLAW_API_KEY=${API_KEY} # 从.env文件读取
env_file:
- .env
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7860/health"]
interval: 30s
timeout: 10s
retries: 3
# 如需要数据库(示例)
# postgres:
# image: postgres:15
# environment:
# POSTGRES_PASSWORD: ${DB_PASSWORD}
启动服务:
# 创建环境变量文件(可选) echo "API_KEY=your_key_here" > .env # 启动所有服务 docker-compose up -d # 查看日志 docker-compose logs -f openclaw # 停止服务 docker-compose down
Kubernetes 部署(生产环境)
创建 Deployment
openclaw-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: openclaw
spec:
replicas: 2
selector:
matchLabels:
app: openclaw
template:
metadata:
labels:
app: openclaw
spec:
containers:
- name: openclaw
image: openclaw/ai-crawfish:latest
ports:
- containerPort: 7860
env:
- name: OPENCLAW_ENV
value: "production"
volumeMounts:
- mountPath: /app/data
name: data-volume
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "2Gi"
cpu: "1000m"
volumes:
- name: data-volume
persistentVolumeClaim:
claimName: openclaw-pvc
创建 Service
openclaw-service.yaml:
apiVersion: v1
kind: Service
metadata:
name: openclaw-service
spec:
selector:
app: openclaw
ports:
- port: 80
targetPort: 7860
nodePort: 30080 # NodePort模式
type: NodePort
部署到集群
# 应用配置 kubectl apply -f openclaw-deployment.yaml kubectl apply -f openclaw-service.yaml # 查看状态 kubectl get pods -l app=openclaw kubectl get svc openclaw-service
自定义镜像构建
准备 Dockerfile
FROM python:3.10-slim
WORKDIR /app
# 安装系统依赖
RUN apt-get update && apt-get install -y \
git \
gcc \
&& rm -rf /var/lib/apt/lists/*
# 复制项目文件
COPY requirements.txt .
COPY . .
# 安装Python依赖
RUN pip install --no-cache-dir -r requirements.txt
# 设置环境变量
ENV PYTHONUNBUFFERED=1
ENV OPENCLAW_HOME=/app
# 暴露端口
EXPOSE 7860
EXPOSE 8000
# 启动命令
CMD ["python", "main.py"]
构建与推送镜像
# 构建镜像 docker build -t openclaw:latest . # 测试运行 docker run -p 7860:7860 openclaw:latest # 推送到镜像仓库 docker tag openclaw:latest your-registry/openclaw:v1.0 docker push your-registry/openclaw:v1.0
常用管理命令
# 查看容器状态 docker ps -a | grep openclaw # 进入容器 docker exec -it openclaw /bin/bash # 查看日志 docker logs -f openclaw # 备份数据 docker run --rm --volumes-from openclaw \ -v $(pwd):/backup alpine \ tar czf /backup/data.tar.gz /app/data # 更新容器 docker pull openclaw/ai-crawfish:latest docker-compose down && docker-compose up -d
注意事项
- 数据持久化:务必挂载数据卷,避免容器重启丢失数据
- 资源配置:根据实际需求调整CPU/内存限制
- 网络配置:生产环境建议使用反向代理(Nginx/Traefik)
- 安全设置:
- 使用非root用户运行容器
- 定期更新镜像安全补丁
- 加密敏感环境变量
如需更详细的配置,请参考项目文档中的 docker/ 目录或 deployment/ 目录(如果存在)。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。