diff --git a/isolated/profiles/docker-compose.yml b/isolated/profiles/docker-compose.yml index 30d3ad7..0394b3f 100644 --- a/isolated/profiles/docker-compose.yml +++ b/isolated/profiles/docker-compose.yml @@ -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: