Docker 安装
使用 Docker 容器部署 ClawdBot
概述
Docker 提供了最简单的部署方式。无需安装依赖,一条命令即可启动 ClawdBot。 特别适合服务器部署和生产环境使用。
隔离环境
容器化部署,环境隔离
一键部署
无需安装依赖,快速启动
易于扩展
支持集群和编排
前提条件
安装 Docker
# Linux (Ubuntu/Debian)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# macOS
brew install --cask docker
# 或下载 Docker Desktop
# Windows
# 下载并安装 Docker Desktop验证安装
docker --version
docker compose version快速开始
拉取镜像
docker pull clawdbot/clawdbot:latest运行容器
docker run -d \
--name clawdbot \
-e ANTHROPIC_API_KEY="sk-ant-xxx..." \
-e CLAWDBOT_TELEGRAM_TOKEN="123456:ABC..." \
-v clawdbot-data:/data \
-p 8080:8080 \
clawdbot/clawdbot:latest查看日志
docker logs -f clawdbot进入容器
docker exec -it clawdbot /bin/shDocker Compose
推荐使用 Docker Compose 进行管理:
创建 docker-compose.yml
version: '3.8'
services:
clawdbot:
image: clawdbot/clawdbot:latest
container_name: clawdbot
restart: unless-stopped
ports:
- "8080:8080"
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- CLAWDBOT_TELEGRAM_TOKEN=${TELEGRAM_TOKEN}
- CLAWDBOT_DISCORD_TOKEN=${DISCORD_TOKEN}
- TZ=Asia/Shanghai
volumes:
- ./config:/app/config
- ./data:/app/data
- ./logs:/app/logs
healthcheck:
test: ["CMD", "clawdbot", "health"]
interval: 30s
timeout: 10s
retries: 3创建 .env 文件
# .env
ANTHROPIC_API_KEY=sk-ant-xxx...
TELEGRAM_TOKEN=123456:ABC...
DISCORD_TOKEN=xxx...启动服务
# 启动
docker compose up -d
# 查看状态
docker compose ps
# 查看日志
docker compose logs -f
# 停止
docker compose down配置选项
环境变量
| 变量 | 说明 | 必需 |
|---|---|---|
ANTHROPIC_API_KEY | Anthropic API 密钥 | 是* |
OPENAI_API_KEY | OpenAI API 密钥 | 是* |
CLAWDBOT_TELEGRAM_TOKEN | Telegram Bot Token | 否 |
CLAWDBOT_DISCORD_TOKEN | Discord Bot Token | 否 |
TZ | 时区设置 | 否 |
* 至少需要一个 AI 提供商的 API 密钥
使用配置文件
# 挂载配置文件
volumes:
- ./config/config.yaml:/app/config/config.yaml:ro数据持久化
推荐的卷挂载
volumes:
# 配置文件
- ./config:/app/config
# 数据存储(对话历史、记忆等)
- ./data:/app/data
# 日志文件
- ./logs:/app/logs
# 工作空间(Agent 使用)
- ./workspace:/app/workspace使用命名卷
volumes:
- clawdbot-config:/app/config
- clawdbot-data:/app/data
volumes:
clawdbot-config:
clawdbot-data:备份数据
# 备份
docker run --rm \
-v clawdbot-data:/data \
-v $(pwd):/backup \
alpine tar czf /backup/clawdbot-backup.tar.gz /data
# 恢复
docker run --rm \
-v clawdbot-data:/data \
-v $(pwd):/backup \
alpine tar xzf /backup/clawdbot-backup.tar.gz -C /更新升级
使用 Docker Compose
# 拉取最新镜像
docker compose pull
# 重新创建容器
docker compose up -d
# 清理旧镜像
docker image prune -f手动更新
# 停止容器
docker stop clawdbot
# 删除容器(数据在卷中,不会丢失)
docker rm clawdbot
# 拉取新镜像
docker pull clawdbot/clawdbot:latest
# 重新运行
docker run -d ... clawdbot/clawdbot:latest指定版本
# 使用特定版本
docker pull clawdbot/clawdbot:1.2.3
# 回滚到上一版本
docker compose down
# 修改 docker-compose.yml 中的镜像版本
docker compose up -d故障排查
容器无法启动
# 查看日志
docker logs clawdbot
# 检查配置
docker exec clawdbot clawdbot doctor权限问题
# 确保目录权限正确
sudo chown -R 1000:1000 ./config ./data ./logs网络问题
# 检查端口
docker port clawdbot
# 测试连接
curl http://localhost:8080/health资源不足
# 查看资源使用
docker stats clawdbot
# 增加资源限制
services:
clawdbot:
deploy:
resources:
limits:
memory: 1G
cpus: '1'