25 lines
1.2 KiB
Docker
25 lines
1.2 KiB
Docker
# CAS 5.3.16 镜像(基于已构建好的 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 \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
WORKDIR /app
|
||
COPY docker/cas.war /app/cas.war
|
||
COPY docker/cas.properties /etc/cas/config/cas.properties
|
||
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.properties 仅保留环境无关配置(HTTPS/端口/日志/管理页白名单);
|
||
# 业务配置(cas.server.name / cas.authn.jdbc / Redis / custom.login.* 等)来自 projman
|
||
# 配置管理挂载的 /app/config/application.yml(Boot 1.5 自动加载 file:./config/ 且优先于 classpath),镜像保持环境无关。
|
||
EXPOSE 8443
|
||
ENTRYPOINT ["/app/run-cas.sh"]
|