# CAS 服务端编排:仅 cas 应用。 # MySQL / Redis / RabbitMQ 均为 infra 公共实例(mysql8 等),不在本编排内自建。 # CAS 启动时由 run-cas.sh 从 Nacos 拉取: # - 公共基础配置 common.properties (namespace=public) # - CAS 自身配置 cas-prod.properties (namespace=cas) # 启动:cd /opt/docker/apps/cas-sso && docker compose -f docker-compose.cas.yml up -d services: cas: image: ${CAS_IMAGE:-registry.cn-hangzhou.aliyuncs.com/damaomi_docker/yunhai:${VERSION:-v1.3}} container_name: cas-sso restart: unless-stopped networks: - infra-infra-net environment: NACOS_ADDR: nacos:8848 NACOS_USER: nacos NACOS_PASS: nacos # CAS 自身配置 CAS_CONFIG_DATA_ID: cas-prod.properties CAS_CONFIG_GROUP: CAS CAS_CONFIG_NAMESPACE: cas # 公共基础配置(含 mysql / redis / rabbitmq 连接) CAS_BASE_CONFIG_DATA_ID: common.properties CAS_BASE_CONFIG_GROUP: DEFAULT_GROUP CAS_BASE_CONFIG_NAMESPACE: public # 用宿主机(部署目录)最新的 run-cas.sh 覆盖镜像内旧版本,避免每次改脚本都重新构建镜像 # 注意:cas.war 不再挂载,直接烤进镜像(由 build-push.sh 重建),避免热修包被 recreate 冲掉/覆盖导致不可预期的问题 volumes: - ./run-cas.sh:/app/run-cas.sh:ro ports: - "8443:8443" healthcheck: test: ["CMD", "curl", "-fk", "https://localhost:8443/login"] interval: 30s timeout: 10s retries: 5 networks: infra-infra-net: external: true