- Add comprehensive DEPLOY.md with quick start instructions for all platforms - Add deploy.sh script for Linux/Mac with build, up, down, restart, logs, status, and clean commands - Add deploy.bat script for Windows with equivalent deployment commands - Include manual deployment steps using docker and docker-compose - Document configuration setup and environment variables - Add production environment recommendations for external Kafka, data persistence, and logging - Include troubleshooting section for common deployment issues - Provide health check and service status verification commands
2.6 KiB
2.6 KiB
部署指南
快速部署
Linux/Mac
# 添加执行权限
chmod +x deploy.sh
# 构建镜像
./deploy.sh build
# 启动服务
./deploy.sh up
# 查看日志
./deploy.sh logs
Windows
REM 构建镜像
deploy.bat build
REM 启动服务
deploy.bat up
REM 查看日志
deploy.bat logs
部署命令
| 命令 | 说明 |
|---|---|
build |
构建Docker镜像 |
up |
启动所有服务(Kafka + App) |
down |
停止所有服务 |
restart |
重启应用服务 |
logs |
查看应用日志 |
status |
查看服务状态 |
clean |
清理无用镜像 |
手动部署
1. 构建镜像
docker build -t job-crawler:latest .
2. 推送到私有仓库(可选)
# 打标签
docker tag job-crawler:latest your-registry.com/job-crawler:latest
# 推送
docker push your-registry.com/job-crawler:latest
3. 启动服务
# 使用 docker-compose(推荐)
docker-compose up -d
# 或单独运行容器
docker run -d \
--name job-crawler \
-p 8000:8000 \
-v $(pwd)/config:/app/config:ro \
-v job-data:/app/data \
-e CONFIG_PATH=/app/config/config.yml \
job-crawler:latest
配置说明
1. 复制配置模板
cp config/config.yml.docker config/config.yml
2. 编辑配置文件
api:
username: "your_username" # 修改为你的账号
password: "your_password" # 修改为你的密码
tasks:
- id: "your-task-id" # 修改为你的任务ID
name: "任务名称"
enabled: true
生产环境建议
1. 使用外部Kafka
修改 config/config.yml:
kafka:
bootstrap_servers: your-kafka-host:9092
修改 docker-compose.yml,移除 zookeeper 和 kafka 服务。
2. 数据持久化
确保挂载数据卷:
volumes:
- ./data:/app/data # 本地目录
# 或使用命名卷
- app_data:/app/data
3. 日志收集
# 查看日志
docker-compose logs -f app
# 导出日志
docker-compose logs app > app.log
4. 健康检查
# 检查服务健康
curl http://localhost:8000/health
# 检查采集状态
curl http://localhost:8000/status
常见问题
Q: Kafka连接失败
检查 config.yml 中的 kafka.bootstrap_servers:
- Docker内部:
kafka:29092 - 本地开发:
localhost:9092
Q: 配置文件未生效
确保配置文件正确挂载:
docker exec job-crawler cat /app/config/config.yml
Q: 数据丢失
检查数据卷是否正确挂载:
docker volume ls
docker volume inspect job_crawler_app_data