Files
CasSsoService/docker/Dockerfile
T

28 lines
1.5 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CAS 5.3.16 镜像(cas.war 由 CI 用 maven 从源码构建,落在 target/cas.war)
# 构建上下文 = 项目根目录: docker build -f docker/Dockerfile -t <img> .
FROM eclipse-temurin:8-jre
# CAS 5.3 默认要求 HTTPS(安全 Cookie),这里生成自签名密钥库(密码固定 changeit,过渡期用)
RUN mkdir -p /etc/cas/config \
&& keytool -genkeypair -alias cas -keyalg RSA -keysize 2048 -validity 3650 \
-storetype JKS -keystore /etc/cas/cas.keystore \
-storepass changeit -keypass changeit -dname "CN=cas.example.org" 2>/dev/null || true \
&& apt-get update && apt-get install -y --no-install-recommends curl python3 python3-yaml \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# cas.war 由 maven 源码构建产出(target/cas.war),不再把 war 提交进 git
COPY target/cas.war /app/cas.war
COPY docker/cas.properties /etc/cas/config/cas.properties
COPY docker/nacos_config.py /app/nacos_config.py
COPY docker/run-cas.sh /app/run-cas.sh
COPY etc/cas/config/log4j2.xml /etc/cas/config/log4j2.xml
RUN chmod +x /app/run-cas.sh
# 业务配置(cas.server.name / JDBC / Redis / always-captcha 等)由 run-cas.sh 在启动阶段
# 调用 nacos_config.py 从 Nacos 原生拉取(common.yaml + cas.yaml,namespace=NACOS_NAMESPACE),
# 生成 /etc/cas/config/cas.properties(CAS 5.3 原生加载,优先级高于 classpath application.yml)。
# 替代失效的 EnvironmentPostProcessor(CAS 5.3 + Spring Cloud bootstrap 下 EPP 不触发)。
EXPOSE 8443
ENTRYPOINT ["/app/run-cas.sh"]