version: '3.7' services: traefik: image: traefik:latest restart: always command: - "--log.level=DEBUG" - "--api.insecure=true" - "--metrics.prometheus.addServicesLabels=true" - "--metrics.prometheus=true" - "--metrics.prometheus.buckets=0.1,0.3,1.2,5.0" - "--entryPoints.web.address=:80" - "--tracing.zipkin.httpEndpoint=http://jaeger:9411/api/v2/spans" - "--entryPoints.traefik.address=:8080" - "--providers.docker=true" - "--providers.docker.swarmmode=false" - "--providers.docker.watch" networks: - traefik - inbound volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - target: 80 published: 80 mode: host - target: 443 published: 443 mode: host mode: host - target: 8080 published: 8090 protocol: tcp mode: ingress deploy: mode: global placement: constraints: - node.role == manager update_config: parallelism: 1 delay: 10s restart_policy: condition: on-failure jaeger: image: jaegertracing/all-in-one:1.6 restart: always environment: COLLECTOR_ZIPKIN_HTTP_PORT: 9411 ports: - 5775:5775/udp - 6831:6831/udp - 6832:6832/udp - 5778:5778 - 16686:16686 - 14268:14268 - 9411:9411 networks: - inbound - traefik deploy: labels: - "traefik.docker.network=inbound" - "traefik.http.routers.jaeger.rule=Host(`jaeger.localhost`)" - "traefik.http.routers.jaeger.service=jaeger" - "traefik.http.services.jaeger.loadbalancer.server.port=16686" placement: constraints: - node.role==manager restart_policy: condition: on-failure networks: traefik: driver: overlay name: traefik inbound: driver: overlay name: inbound