version: '3.3' services: mysql: image: mysql:8 container_name: mysql_service restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: TianMiao volumes: - ./MySQL:/docker-entrypoint-initdb.d tomcat: build: ./ container_name: tomcat_service ports: - 8080:8080 - 9464:9464 environment: - OTEL_EXPORTER=otlp_span,prometheus - OTEL_EXPORTER_OTLP_ENDPOINT=http://tempo:4317 - OTEL_EXPORTER_OTLP_INSECURE=true - OTEL_RESOURCE_ATTRIBUTES=service.name=demo - JAVA_OPTS=-javaagent:/opentelemetry-javaagent.jar depends_on: - mysql tempo: image: grafana/tempo:1.5.0 command: ["--target=all", "--storage.trace.backend=local", "--storage.trace.local.path=/var/tempo", "--multitenancy.enabled=false", "--search.enabled=true"] ports: - 8081:80 grafana: image: grafana/grafana:9.1.5 volumes: - ./config/grafana:/etc/grafana/provisioning/datasources environment: - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_AUTH_DISABLE_LOGIN_FORM=true - GF_FEATURE_TOGGLES_ENABLE=tempoServiceGraph tempoSearch tempoBackendSearch tempoApmTable ports: - "3000:3000"