Files
bttoxin-pipeline/docker-stop.sh
zly fe353fc0bc chore: 初始版本提交 - 简化架构 + 轮询改造
- 移除 Motia Streams 实时通信,改用 3 秒轮询
- 简化前端代码,移除冗余组件
- 简化后端架构,准备 FastAPI 重构
- 更新 pixi.toml 环境配置
- 保留 bttoxin_digger_v5_repro 作为参考文档

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-13 16:50:09 +08:00

93 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# BtToxin Pipeline Docker 停止脚本
# 用法: ./docker-stop.sh [mode]
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DOCKER_DIR="${SCRIPT_DIR}/docker"
# 显示帮助信息
show_help() {
echo "BtToxin Pipeline Docker 停止脚本"
echo ""
echo "用法: ./docker-stop.sh [mode] [--all]"
echo ""
echo "模式:"
echo " simple - 停止单容器 Nginx 部署"
echo " traefik - 停止 Traefik 多容器部署"
echo " test - 停止测试配置"
echo " dev - 停止开发模式"
echo " --all - 停止所有模式"
echo ""
echo "示例:"
echo " ./docker-stop.sh # 停止 simple 模式"
echo " ./docker-stop.sh traefik # 停止 traefik 模式"
echo " ./docker-stop.sh --all # 停止所有"
echo ""
}
# 检查 Docker 是否运行
check_docker() {
if ! docker info > /dev/null 2>&1; then
echo -e "${RED}错误: Docker 未运行${NC}"
exit 1
fi
}
# 停止指定模式
stop_mode() {
local mode=$1
local compose_file="${DOCKER_DIR}/compose/docker-compose.${mode}.yml"
if [ -f "$compose_file" ]; then
echo -e "${YELLOW}停止 ${mode} 模式...${NC}"
docker compose -f "$compose_file" down
echo -e "${GREEN}${mode} 模式已停止${NC}"
else
echo -e "${YELLOW}${mode} 模式的配置文件不存在${NC}"
fi
}
# 主逻辑
main() {
local mode="${1:-simple}"
if [ "$mode" = "-h" ] || [ "$mode" = "--help" ]; then
show_help
exit 0
fi
echo "=========================================="
echo " BtToxin Pipeline Docker 停止脚本"
echo "=========================================="
echo ""
# 检查 Docker
check_docker
# 停止所有模式
if [ "$mode" = "--all" ]; then
echo -e "${YELLOW}停止所有模式...${NC}"
stop_mode "simple"
stop_mode "traefik"
stop_mode "test"
stop_mode "dev"
else
stop_mode "$mode"
fi
echo ""
echo -e "${GREEN}完成!${NC}"
}
# 运行主函数
main "$@"