#!/usr/bin/env bash # ============================================================================= # remove-infra.sh — 删除 Docker 容器及本地持久化数据 # # ⚠️ 危险操作:本地 Redis / Kafka / Etcd 数据将全部清除 # 适用场景:环境损坏需重置,或希望全新干净启动 # ============================================================================= set -euo pipefail source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh" require_docker_running init_script_log # ← 脚本执行日志 step "删除 Docker 基础设施容器及数据" echo "" warn "⚠️ 此操作将删除以下内容:" echo " 容器: dev-livekit, dev-redis, dev-kafka, dev-etcd" echo " 数据: $DATA_DIR/" echo "" read -p "确认删除?(输入 yes 继续): " -r CONFIRM if [[ "$CONFIRM" != "yes" ]]; then info "已取消" exit 0 fi echo "" for cname in dev-livekit dev-redis dev-kafka dev-etcd; do if docker ps -a --format '{{.Names}}' | grep -q "^${cname}$"; then docker rm -f "$cname" > /dev/null && success "已删除容器: $cname" else info "容器不存在,跳过: $cname" fi done if [[ -d "$DATA_DIR" ]]; then rm -rf "$DATA_DIR" success "已删除数据目录: $DATA_DIR" fi echo "" success "清理完成" echo -e " 重新初始化: ${CYAN}./deploy-test/03-start-infra.sh${NC}"