leiyun 1 неделю назад
Родитель
Сommit
664e158bff
1 измененных файлов: 46 добавлений и 0 удалений
  1. +46
    -0
      isolated/profiles/dc.sh

+ 46
- 0
isolated/profiles/dc.sh Просмотреть файл

@@ -0,0 +1,46 @@
#!/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" "$@"

Загрузка…
Отмена
Сохранить