56 lines
1.7 KiB
Bash
Executable File
56 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 确保在脚本所在目录执行
|
||
cd "$(dirname "$0")"
|
||
SCRIPT_DIR="$(pwd)"
|
||
echo "当前工作目录: $SCRIPT_DIR"
|
||
|
||
# 获取项目根目录
|
||
ROOT_DIR="$(cd ../.. && pwd)"
|
||
echo "项目根目录: $ROOT_DIR"
|
||
|
||
# 加载环境变量
|
||
source "$ROOT_DIR/environment.sh"
|
||
echo "已加载环境变量"
|
||
|
||
# 执行变量替换脚本
|
||
echo "开始替换环境变量..."
|
||
bash "$SCRIPT_DIR/replace_vars.sh"
|
||
|
||
# 检查替换是否成功
|
||
if [ ! -f "$SCRIPT_DIR/temp/application.yml" ]; then
|
||
echo "错误: 替换后的配置文件不存在: $SCRIPT_DIR/temp/application.yml"
|
||
exit 1
|
||
fi
|
||
|
||
echo "配置文件替换成功,准备启动Gateway容器..."
|
||
|
||
# 先停止和删除现有容器
|
||
if docker ps -a | grep -q ${GATEWAY_NAME}; then
|
||
echo "停止并删除已存在的 ${GATEWAY_NAME} 容器..."
|
||
docker stop ${GATEWAY_NAME} >/dev/null 2>&1
|
||
docker rm ${GATEWAY_NAME} >/dev/null 2>&1
|
||
fi
|
||
|
||
# 启动Gateway容器
|
||
echo "正在启动 ${GATEWAY_NAME} 容器..."
|
||
docker run --pull always -d \
|
||
--name ${GATEWAY_NAME} \
|
||
--network ${NETWORK} \
|
||
--add-host ${OIDC_SERVER_DOMAIN}:host-gateway \
|
||
--env TZ=Asia/Shanghai \
|
||
--env SPRING_CONFIG_LOCATION=file:/data/java/tuoheng/application.yml \
|
||
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
|
||
--mount type=bind,source="$SCRIPT_DIR/temp/application.yml",target=/data/java/tuoheng/application.yml,readonly \
|
||
--memory ${GATEWAY_MEMORY} \
|
||
--restart unless-stopped \
|
||
${GATEWAY_IMAGE}
|
||
|
||
# 检查启动结果
|
||
if [ $? -eq 0 ]; then
|
||
echo "Gateway服务已成功启动"
|
||
docker ps | grep ${GATEWAY_NAME}
|
||
else
|
||
echo "Gateway服务启动失败,请检查日志"
|
||
docker logs ${GATEWAY_NAME}
|
||
fi |