version: "2" services: # Jaeger jaeger-all-in-one: image: jaegertracing/all-in-one:latest ports: - "16686:16686" - "14268" - "14250" # Zipkin zipkin-all-in-one: image: openzipkin/zipkin:latest ports: - "9411:9411" # Collector otel-collector: image: otel/opentelemetry-collector-contrib:0.55.0 command: ["--config=/etc/otel-collector-config.yaml", ""] volumes: - ./collector/otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - "1888:1888" # pprof extension - "8888:8888" # Prometheus metrics exposed by the collector - "8889:8889" # Prometheus exporter metrics - "13133:13133" # health_check extension - "4317:4317" # OTLP gRPC receiver - "55679:55679" # zpages extension depends_on: - jaeger-all-in-one - zipkin-all-in-one demo-server: build: dockerfile: Dockerfile context: ./server/ ports: - "5002:5002" depends_on: - otel-collector # Prometheus prometheus: image: prom/prometheus:latest volumes: - ./prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml ports: - "9090:9090" # Grafana grafana-server: image: grafana/grafana:9.0.1 container_name: grafana-server volumes: - ./grafana/grafana.ini:/etc/grafana/grafana.ini - ./grafana/provisioning/:/etc/grafana/provisioning/ ports: - "3000:3000"