| @@ -5,6 +5,12 @@ x-app-env: &app-env | |||||
| networks: | networks: | ||||
| - emp-net | - 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 | x-java-depends: &java-depends | ||||
| nacos: | nacos: | ||||
| condition: service_healthy | condition: service_healthy | ||||
| @@ -77,6 +83,7 @@ services: | |||||
| KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR: 1 | KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR: 1 | ||||
| volumes: | volumes: | ||||
| - kafka_data:/bitnami/kafka | - kafka_data:/bitnami/kafka | ||||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/kafka:/opt/bitnami/kafka/logs | |||||
| healthcheck: | healthcheck: | ||||
| test: ["CMD-SHELL", "/opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list >/dev/null 2>&1"] | test: ["CMD-SHELL", "/opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list >/dev/null 2>&1"] | ||||
| interval: 10s | interval: 10s | ||||
| @@ -125,7 +132,7 @@ services: | |||||
| TDENGINE_DATABASE: ${TDENGINE_DATABASE:-emp} | TDENGINE_DATABASE: ${TDENGINE_DATABASE:-emp} | ||||
| volumes: | volumes: | ||||
| - tdengine_data:/var/lib/taos | - tdengine_data:/var/lib/taos | ||||
| - tdengine_log:/var/log/taos | |||||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/tdengine:/var/log/taos | |||||
| healthcheck: | healthcheck: | ||||
| test: ["CMD-SHELL", "taos -s \"create database if not exists $${TDENGINE_DATABASE}; show databases;\" >/dev/null 2>&1"] | test: ["CMD-SHELL", "taos -s \"create database if not exists $${TDENGINE_DATABASE}; show databases;\" >/dev/null 2>&1"] | ||||
| interval: 10s | interval: 10s | ||||
| @@ -146,7 +153,7 @@ services: | |||||
| NACOS_AUTH_TOKEN: ${NACOS_AUTH_TOKEN} | NACOS_AUTH_TOKEN: ${NACOS_AUTH_TOKEN} | ||||
| volumes: | volumes: | ||||
| - nacos_data:/home/nacos/data | - nacos_data:/home/nacos/data | ||||
| - nacos_logs:/home/nacos/logs | |||||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/nacos:/home/nacos/logs | |||||
| healthcheck: | healthcheck: | ||||
| test: ["CMD-SHELL", "curl -sf http://127.0.0.1:8848/nacos/actuator/health || exit 1"] | test: ["CMD-SHELL", "curl -sf http://127.0.0.1:8848/nacos/actuator/health || exit 1"] | ||||
| interval: 10s | interval: 10s | ||||
| @@ -158,18 +165,36 @@ services: | |||||
| emp-gateway: | emp-gateway: | ||||
| <<: *app-env | <<: *app-env | ||||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-gateway:${IMAGE_TAG:-latest} | 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: | depends_on: | ||||
| <<: *java-depends | <<: *java-depends | ||||
| emp-auth: | emp-auth: | ||||
| <<: *app-env | <<: *app-env | ||||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-auth:${IMAGE_TAG:-latest} | 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: | depends_on: | ||||
| <<: *java-depends | <<: *java-depends | ||||
| emp-monitor: | emp-monitor: | ||||
| <<: *app-env | <<: *app-env | ||||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-monitor:${IMAGE_TAG:-latest} | 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: | depends_on: | ||||
| <<: *java-depends | <<: *java-depends | ||||
| tdengine: | tdengine: | ||||
| @@ -180,6 +205,12 @@ services: | |||||
| emp-data: | emp-data: | ||||
| <<: *app-env | <<: *app-env | ||||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-data:${IMAGE_TAG:-latest} | 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: | depends_on: | ||||
| <<: *java-depends | <<: *java-depends | ||||
| tdengine: | tdengine: | ||||
| @@ -192,6 +223,9 @@ services: | |||||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-pdf:${IMAGE_TAG:-latest} | image: ${IMAGE_NAMESPACE:-emp-test}/emp-pdf:${IMAGE_TAG:-latest} | ||||
| environment: | environment: | ||||
| PORT: 3100 | 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: | 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))\""] | 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 | interval: 10s | ||||
| @@ -203,6 +237,9 @@ services: | |||||
| image: ${IMAGE_NAMESPACE:-emp-test}/emp-ws:${IMAGE_TAG:-latest} | image: ${IMAGE_NAMESPACE:-emp-test}/emp-ws:${IMAGE_TAG:-latest} | ||||
| ports: | ports: | ||||
| - "0.0.0.0:${WS_HOST_PORT:-37362}:3000" | - "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: | depends_on: | ||||
| mysql: | mysql: | ||||
| condition: service_healthy | condition: service_healthy | ||||
| @@ -214,6 +251,8 @@ services: | |||||
| restart: unless-stopped | restart: unless-stopped | ||||
| ports: | ports: | ||||
| - "0.0.0.0:${ADMIN_HOST_PORT:-37361}:80" | - "0.0.0.0:${ADMIN_HOST_PORT:-37361}:80" | ||||
| volumes: | |||||
| - /data/emp/logs/${IMAGE_NAMESPACE:-emp}/emp-admin:/var/log/nginx | |||||
| depends_on: | depends_on: | ||||
| emp-gateway: | emp-gateway: | ||||
| condition: service_started | condition: service_started | ||||
| @@ -231,6 +270,4 @@ volumes: | |||||
| redis_data: | redis_data: | ||||
| kafka_data: | kafka_data: | ||||
| tdengine_data: | tdengine_data: | ||||
| tdengine_log: | |||||
| nacos_data: | nacos_data: | ||||
| nacos_logs: | |||||