| @@ -5,6 +5,12 @@ x-app-env: &app-env | |||
| networks: | |||
| - emp-net | |||
| # Java 服务 logback 文件滚动策略(合并自 ops/runtime-logs/docker-compose.logs.yml) | |||
| x-java-file-log: &java-file-log | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE: ${SPRING_LOG_MAX_FILE_SIZE:-100MB} | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_MAX_HISTORY: ${SPRING_LOG_MAX_HISTORY:-30} | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP: ${SPRING_LOG_TOTAL_SIZE_CAP:-5GB} | |||
| x-java-depends: &java-depends | |||
| nacos: | |||
| condition: service_healthy | |||
| @@ -77,6 +83,7 @@ services: | |||
| KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR: 1 | |||
| volumes: | |||
| - kafka_data:/bitnami/kafka | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/kafka:/opt/bitnami/kafka/logs | |||
| healthcheck: | |||
| test: ["CMD-SHELL", "/opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list >/dev/null 2>&1"] | |||
| interval: 10s | |||
| @@ -125,7 +132,7 @@ services: | |||
| TDENGINE_DATABASE: ${TDENGINE_DATABASE:-emp} | |||
| volumes: | |||
| - tdengine_data:/var/lib/taos | |||
| - tdengine_log:/var/log/taos | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/tdengine:/var/log/taos | |||
| healthcheck: | |||
| test: ["CMD-SHELL", "taos -s \"create database if not exists $${TDENGINE_DATABASE}; show databases;\" >/dev/null 2>&1"] | |||
| interval: 10s | |||
| @@ -146,7 +153,7 @@ services: | |||
| NACOS_AUTH_TOKEN: ${NACOS_AUTH_TOKEN} | |||
| volumes: | |||
| - nacos_data:/home/nacos/data | |||
| - nacos_logs:/home/nacos/logs | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/nacos:/home/nacos/logs | |||
| healthcheck: | |||
| test: ["CMD-SHELL", "curl -sf http://127.0.0.1:8848/nacos/actuator/health || exit 1"] | |||
| interval: 10s | |||
| @@ -158,18 +165,36 @@ services: | |||
| emp-gateway: | |||
| <<: *app-env | |||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-gateway:${IMAGE_TAG:-latest} | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-gateway:/logs | |||
| environment: | |||
| <<: *java-file-log | |||
| LOGGING_FILE_NAME: /logs/emp-gateway.log | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN: /logs/emp-gateway-%d{yyyy-MM-dd}.%i.log | |||
| depends_on: | |||
| <<: *java-depends | |||
| emp-auth: | |||
| <<: *app-env | |||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-auth:${IMAGE_TAG:-latest} | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-auth:/logs | |||
| environment: | |||
| <<: *java-file-log | |||
| LOGGING_FILE_NAME: /logs/emp-auth.log | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN: /logs/emp-auth-%d{yyyy-MM-dd}.%i.log | |||
| depends_on: | |||
| <<: *java-depends | |||
| emp-monitor: | |||
| <<: *app-env | |||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-monitor:${IMAGE_TAG:-latest} | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-monitor:/logs | |||
| environment: | |||
| <<: *java-file-log | |||
| LOGGING_FILE_NAME: /logs/emp-monitor.log | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN: /logs/emp-monitor-%d{yyyy-MM-dd}.%i.log | |||
| depends_on: | |||
| <<: *java-depends | |||
| tdengine: | |||
| @@ -180,6 +205,12 @@ services: | |||
| emp-data: | |||
| <<: *app-env | |||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-data:${IMAGE_TAG:-latest} | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-data:/logs | |||
| environment: | |||
| <<: *java-file-log | |||
| LOGGING_FILE_NAME: /logs/emp-data.log | |||
| LOGGING_LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN: /logs/emp-data-%d{yyyy-MM-dd}.%i.log | |||
| depends_on: | |||
| <<: *java-depends | |||
| tdengine: | |||
| @@ -192,6 +223,9 @@ services: | |||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-pdf:${IMAGE_TAG:-latest} | |||
| environment: | |||
| PORT: 3100 | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-pdf:/logs | |||
| command: ["/bin/sh", "-c", "exec node server.js >> /logs/emp-pdf.log 2>&1"] | |||
| healthcheck: | |||
| test: ["CMD-SHELL", "node -e \"require('http').get('http://127.0.0.1:3100/pdf', r => { r.resume(); process.exit(r.statusCode < 500 ? 0 : 1) }).on('error', () => process.exit(1))\""] | |||
| interval: 10s | |||
| @@ -203,6 +237,9 @@ services: | |||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-ws:${IMAGE_TAG:-latest} | |||
| ports: | |||
| - "0.0.0.0:${WS_HOST_PORT:-37362}:3000" | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-ws:/logs | |||
| command: ["/bin/sh", "-c", "exec node server.js >> /logs/emp-ws.log 2>&1"] | |||
| depends_on: | |||
| mysql: | |||
| condition: service_healthy | |||
| @@ -214,6 +251,8 @@ services: | |||
| restart: unless-stopped | |||
| ports: | |||
| - "0.0.0.0:${ADMIN_HOST_PORT:-37361}:80" | |||
| volumes: | |||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-admin:/var/log/nginx | |||
| depends_on: | |||
| emp-gateway: | |||
| condition: service_started | |||
| @@ -231,6 +270,4 @@ volumes: | |||
| redis_data: | |||
| kafka_data: | |||
| tdengine_data: | |||
| tdengine_log: | |||
| nacos_data: | |||
| nacos_logs: | |||