Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- #!/usr/bin/env bash
- set -Eeu
-
- # docker compose 便捷包装:自动补齐 --env-file / -f / -p 固定参数。
- #
- # 用法:
- # ./dc.sh <env> <compose 子命令及参数...>
- # <env> 为 test 或 uat(也接受 emp-test / emp-uat)
- #
- # 示例:
- # ./dc.sh uat up -d emp-ws # 重建并启动 emp-ws
- # ./dc.sh uat ps # 查看容器状态
- # ./dc.sh uat logs -f emp-monitor # 跟踪日志
- # ./dc.sh test up -d # 启动 test 全部服务
- #
- # 默认在当前目录找 docker-compose.yml 和 .env;
- # 也可用环境变量覆盖运行目录:
- # RUNTIME_DIR=/home/admin-x99/emp/emp-uat/runtime ./dc.sh uat ps
-
- usage() {
- echo "用法: $0 <test|uat> <docker compose 子命令...>" >&2
- echo "示例: $0 uat up -d emp-ws" >&2
- exit 1
- }
-
- [[ "$#" -ge 2 ]] || usage
-
- ENV_ARG="$1"
- shift
-
- case "$ENV_ARG" in
- test|emp-test) PROJECT="emp-test" ;;
- uat|emp-uat) PROJECT="emp-uat" ;;
- *) echo "ERROR: 未知环境 '$ENV_ARG',只支持 test 或 uat" >&2; usage ;;
- esac
-
- # 运行目录:默认当前目录,可用 RUNTIME_DIR 覆盖
- RUNTIME_DIR="${RUNTIME_DIR:-$PWD}"
- COMPOSE_FILE="$RUNTIME_DIR/docker-compose.yml"
- ENV_FILE="$RUNTIME_DIR/.env"
-
- [[ -f "$COMPOSE_FILE" ]] || { echo "ERROR: 找不到 $COMPOSE_FILE" >&2; exit 1; }
- [[ -f "$ENV_FILE" ]] || { echo "ERROR: 找不到 $ENV_FILE" >&2; exit 1; }
-
- set -x
- docker compose --env-file "$ENV_FILE" -f "$COMPOSE_FILE" -p "$PROJECT" "$@"
|