From ae8e8e7e8f416c9f01fb9101a6bf60365c868ed3 Mon Sep 17 00:00:00 2001 From: lianlonggang Date: Mon, 8 Sep 2025 09:49:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81docker=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E5=BC=8F=E4=BC=A0=E5=85=A5=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E5=8F=A3=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 14 +++++++++++++- entrypoint.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 580a2f1..40c2d28 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,10 @@ FROM nginx MAINTAINER jeecgos@163.com VOLUME /tmp ENV LANG en_US.UTF-8 + +ENV VITE_GLOB_API_URL https://api.xjygjk.com +ENV VITE_GLOB_DOMAIN_URL https://api.xjygjk.com + RUN echo "server { \ #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \ location / { \ @@ -18,4 +22,12 @@ RUN echo "server { \ && mkdir -p /var/www/html ADD dist/ /var/www/html/ -EXPOSE 3100 + +# 添加运行时注入脚本 +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +# 启动脚本 +ENTRYPOINT ["/entrypoint.sh"] + +EXPOSE 80 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..e6cb21f --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +# 从环境变量获取 APP_SHORT_NAME +APP_SHORT_NAME="${VITE_GLOB_APP_SHORT_NAME:-CQYTHEALTHADMIN}" +CONFIG_VAR="__PRODUCTION__${APP_SHORT_NAME}__CONF__" + +# 1. 创建运行时配置文件 +cat > /var/www/html/config.js << EOF +// 动态注入运行时配置 +window['$CONFIG_VAR'] = { + "VITE_GLOB_APP_TITLE": "${VITE_GLOB_APP_TITLE:-健康管理后台}", + "VITE_GLOB_APP_TITLE_JD": "${VITE_GLOB_APP_TITLE_JD:-健康干预后台}", + "VITE_GLOB_APP_SHORT_NAME": "${VITE_GLOB_APP_SHORT_NAME:-CqytHealthAdmin}", + "VITE_GLOB_APP_CAS_BASE_URL": "${VITE_GLOB_APP_CAS_BASE_URL:-http://cas.default.com/cas}", + "VITE_GLOB_APP_OPEN_SSO": ${VITE_GLOB_APP_OPEN_SSO:-false}, + "VITE_GLOB_APP_OPEN_QIANKUN": ${VITE_GLOB_APP_OPEN_QIANKUN:-true}, + "VITE_GLOB_ONLINE_VIEW_URL": "${VITE_GLOB_ONLINE_VIEW_URL:-http://fileview.jeecg.com/onlinePreview}", + "VITE_GLOB_API_URL": "${VITE_GLOB_API_URL:-http://default-api.com}", + "VITE_GLOB_DOMAIN_URL": "${VITE_GLOB_DOMAIN_URL:-http://default-domain.com}", + "VITE_GLOB_ST_DOMAIN_URL": "${VITE_GLOB_ST_DOMAIN_URL:-http://default-domain.com}", + "VITE_GLOB_API_URL_PREFIX": "${VITE_GLOB_API_URL_PREFIX:-}" +}; + +// 冻结对象(可选,模拟生产行为) +Object.freeze(window['$CONFIG_VAR']); +Object.defineProperty(window, '$CONFIG_VAR', { + configurable: false, + writable: false +}); +EOF + +# 2. 修改 index.html: +# - 在 前插入 ||g' /var/www/html/index.html + +# 启动 Nginx +exec nginx -g "daemon off;"