github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/development/tsdb-blocks-storage-s3/docker-compose.yml (about)

     1  version: '3.4'
     2  services:
     3  
     4    consul:
     5      image: consul
     6      command: [ "agent", "-dev" ,"-client=0.0.0.0", "-log-level=info" ]
     7      ports:
     8        - 8500:8500
     9  
    10    minio:
    11      image: minio/minio
    12      command: [ "server", "/data" ]
    13      environment:
    14        - MINIO_ACCESS_KEY=cortex
    15        - MINIO_SECRET_KEY=supersecret
    16      ports:
    17        - 9000:9000
    18      volumes:
    19        - .data-minio:/data:delegated
    20  
    21    memcached:
    22      image: memcached:1.6
    23  
    24    prometheus:
    25      image: prom/prometheus:v2.27.1
    26      command: ["--config.file=/etc/prometheus/prometheus.yaml", "--enable-feature=exemplar-storage"]
    27      volumes:
    28        - ./config:/etc/prometheus
    29      ports:
    30        - 9090:9090
    31  
    32    jaeger:
    33      image: jaegertracing/all-in-one
    34      ports:
    35        - 16686:16686
    36        - "14268"
    37  
    38    # Scrape the metrics also with the Grafana agent (useful to test metadata ingestion
    39    # until metadata remote write is not supported by Prometheus).
    40    grafana-agent:
    41      image: grafana/agent:v0.2.0
    42      command: ["-config.file=/etc/agent-config/grafana-agent.yaml", "-prometheus.wal-directory=/tmp"]
    43      volumes:
    44        - ./config:/etc/agent-config
    45      ports:
    46        - 9091:9091
    47  
    48    distributor:
    49      build:
    50        context:    .
    51        dockerfile: dev.dockerfile
    52      image: cortex
    53      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18001 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=distributor -server.http-listen-port=8001 -server.grpc-listen-port=9001"]
    54      depends_on:
    55        - consul
    56        - minio
    57      environment:
    58        - JAEGER_AGENT_HOST=jaeger
    59        - JAEGER_AGENT_PORT=6831
    60        - JAEGER_TAGS=app=distributor
    61        - JAEGER_SAMPLER_TYPE=const
    62        - JAEGER_SAMPLER_PARAM=1
    63      ports:
    64        - 8001:8001
    65        - 18001:18001
    66      volumes:
    67        - ./config:/cortex/config
    68  
    69    ingester-1:
    70      build:
    71        context:    .
    72        dockerfile: dev.dockerfile
    73      image: cortex
    74      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18002 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=ingester -server.http-listen-port=8002 -server.grpc-listen-port=9002"]
    75      depends_on:
    76        - consul
    77        - minio
    78      environment:
    79        - JAEGER_AGENT_HOST=jaeger
    80        - JAEGER_AGENT_PORT=6831
    81        - JAEGER_TAGS=app=ingester-1
    82        - JAEGER_SAMPLER_TYPE=const
    83        - JAEGER_SAMPLER_PARAM=1
    84      ports:
    85        - 8002:8002
    86        - 18002:18002
    87      volumes:
    88        - ./config:/cortex/config
    89        - .data-ingester-1:/tmp/cortex-tsdb-ingester:delegated
    90  
    91    ingester-2:
    92      build:
    93        context:    .
    94        dockerfile: dev.dockerfile
    95      image: cortex
    96      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18003 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=ingester -server.http-listen-port=8003 -server.grpc-listen-port=9003"]
    97      depends_on:
    98        - consul
    99        - minio
   100      environment:
   101        - JAEGER_AGENT_HOST=jaeger
   102        - JAEGER_AGENT_PORT=6831
   103        - JAEGER_TAGS=app=ingester-2
   104        - JAEGER_SAMPLER_TYPE=const
   105        - JAEGER_SAMPLER_PARAM=1
   106      ports:
   107        - 8003:8003
   108        - 18003:18003
   109      volumes:
   110        - ./config:/cortex/config
   111        - .data-ingester-2:/tmp/cortex-tsdb-ingester:delegated
   112  
   113    querier:
   114      build:
   115        context:    .
   116        dockerfile: dev.dockerfile
   117      image: cortex
   118      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18004 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=querier -server.http-listen-port=8004 -server.grpc-listen-port=9004"]
   119      depends_on:
   120        - consul
   121        - minio
   122      environment:
   123        - JAEGER_AGENT_HOST=jaeger
   124        - JAEGER_AGENT_PORT=6831
   125        - JAEGER_TAGS=app=querier
   126        - JAEGER_SAMPLER_TYPE=const
   127        - JAEGER_SAMPLER_PARAM=1
   128      ports:
   129        - 8004:8004
   130        - 18004:18004
   131      volumes:
   132        - ./config:/cortex/config
   133  
   134    store-gateway-1:
   135      build:
   136        context:    .
   137        dockerfile: dev.dockerfile
   138      image: cortex
   139      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18008 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=store-gateway -server.http-listen-port=8008 -server.grpc-listen-port=9008"]
   140      depends_on:
   141        - consul
   142        - minio
   143      environment:
   144        - JAEGER_AGENT_HOST=jaeger
   145        - JAEGER_AGENT_PORT=6831
   146        - JAEGER_TAGS=app=store-gateway-1
   147        - JAEGER_SAMPLER_TYPE=const
   148        - JAEGER_SAMPLER_PARAM=1
   149      ports:
   150        - 8008:8008
   151        - 18008:18008
   152      volumes:
   153        - ./config:/cortex/config
   154  
   155    store-gateway-2:
   156      build:
   157        context:    .
   158        dockerfile: dev.dockerfile
   159      image: cortex
   160      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18009 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=store-gateway -server.http-listen-port=8009 -server.grpc-listen-port=9009"]
   161      depends_on:
   162        - consul
   163        - minio
   164      environment:
   165        - JAEGER_AGENT_HOST=jaeger
   166        - JAEGER_AGENT_PORT=6831
   167        - JAEGER_TAGS=app=store-gateway-2
   168        - JAEGER_SAMPLER_TYPE=const
   169        - JAEGER_SAMPLER_PARAM=1
   170      ports:
   171        - 8009:8009
   172        - 18009:18009
   173      volumes:
   174        - ./config:/cortex/config
   175  
   176    compactor:
   177      build:
   178        context:    .
   179        dockerfile: dev.dockerfile
   180      image: cortex
   181      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18006 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=compactor -server.http-listen-port=8006 -server.grpc-listen-port=9006"]
   182      depends_on:
   183        - consul
   184        - minio
   185      environment:
   186        - JAEGER_AGENT_HOST=jaeger
   187        - JAEGER_AGENT_PORT=6831
   188        - JAEGER_TAGS=app=compactor
   189        - JAEGER_SAMPLER_TYPE=const
   190        - JAEGER_SAMPLER_PARAM=1
   191      ports:
   192        - 8006:8006
   193        - 18006:18006
   194      volumes:
   195        - ./config:/cortex/config
   196  
   197    query-frontend:
   198      build:
   199        context:    .
   200        dockerfile: dev.dockerfile
   201      image: cortex
   202      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18007 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=query-frontend -server.http-listen-port=8007 -server.grpc-listen-port=9007 -store.max-query-length=8760h"]
   203      depends_on:
   204        - consul
   205        - minio
   206      environment:
   207        - JAEGER_AGENT_HOST=jaeger
   208        - JAEGER_AGENT_PORT=6831
   209        - JAEGER_TAGS=app=query-frontend
   210        - JAEGER_SAMPLER_TYPE=const
   211        - JAEGER_SAMPLER_PARAM=1
   212      ports:
   213        - 8007:8007
   214        - 18007:18007
   215      volumes:
   216        - ./config:/cortex/config
   217  
   218    alertmanager-1:
   219      build:
   220        context:    .
   221        dockerfile: dev.dockerfile
   222      image: cortex
   223      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18031 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=alertmanager -server.http-listen-port=8031 -server.grpc-listen-port=9031 -alertmanager.web.external-url=http://localhost:8031/alertmanager"]
   224      depends_on:
   225        - consul
   226        - minio
   227      ports:
   228        - 8031:8031
   229        - 18031:18031
   230      volumes:
   231        - ./config:/cortex/config
   232  
   233    alertmanager-2:
   234      build:
   235        context:    .
   236        dockerfile: dev.dockerfile
   237      image: cortex
   238      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18032 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=alertmanager -server.http-listen-port=8032 -server.grpc-listen-port=9032 -alertmanager.web.external-url=http://localhost:8032/alertmanager"]
   239      depends_on:
   240        - consul
   241        - minio
   242      ports:
   243        - 8032:8032
   244        - 18032:18032
   245      volumes:
   246        - ./config:/cortex/config
   247  
   248    alertmanager-3:
   249      build:
   250        context:    .
   251        dockerfile: dev.dockerfile
   252      image: cortex
   253      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18033 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=alertmanager -server.http-listen-port=8033 -server.grpc-listen-port=9033 -alertmanager.web.external-url=http://localhost:8033/alertmanager"]
   254      depends_on:
   255        - consul
   256        - minio
   257      ports:
   258        - 8033:8033
   259        - 18033:18033
   260      volumes:
   261        - ./config:/cortex/config
   262  
   263    ruler-1:
   264      build:
   265        context:    .
   266        dockerfile: dev.dockerfile
   267      image: cortex
   268      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18021 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=ruler -server.http-listen-port=8021 -server.grpc-listen-port=9021"]
   269      depends_on:
   270        - consul
   271        - minio
   272      environment:
   273        - JAEGER_AGENT_HOST=jaeger
   274        - JAEGER_AGENT_PORT=6831
   275        - JAEGER_TAGS=app=ruler-1
   276        - JAEGER_SAMPLER_TYPE=const
   277        - JAEGER_SAMPLER_PARAM=1
   278      ports:
   279        - 8021:8021
   280        - 18021:18021
   281      volumes:
   282        - ./config:/cortex/config
   283  
   284    ruler-2:
   285      build:
   286        context:    .
   287        dockerfile: dev.dockerfile
   288      image: cortex
   289      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18022 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=ruler -server.http-listen-port=8022 -server.grpc-listen-port=9022"]
   290      depends_on:
   291        - consul
   292        - minio
   293      environment:
   294        - JAEGER_AGENT_HOST=jaeger
   295        - JAEGER_AGENT_PORT=6831
   296        - JAEGER_TAGS=app=ruler-2
   297        - JAEGER_SAMPLER_TYPE=const
   298        - JAEGER_SAMPLER_PARAM=1
   299      ports:
   300        - 8022:8022
   301        - 18022:18022
   302      volumes:
   303        - ./config:/cortex/config
   304  
   305    query-scheduler:
   306      build:
   307        context:    .
   308        dockerfile: dev.dockerfile
   309      image: cortex
   310      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18011 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=query-scheduler -server.http-listen-port=8011 -server.grpc-listen-port=9011 -store.max-query-length=8760h"]
   311      depends_on:
   312        - consul
   313        - minio
   314      environment:
   315        - JAEGER_AGENT_HOST=jaeger
   316        - JAEGER_AGENT_PORT=6831
   317        - JAEGER_TAGS=app=query-scheduler
   318        - JAEGER_SAMPLER_TYPE=const
   319        - JAEGER_SAMPLER_PARAM=1
   320      ports:
   321        - 8011:8011
   322        - 18011:18011
   323      volumes:
   324        - ./config:/cortex/config
   325  
   326    # This frontend uses query-scheduler, activated by `-frontend.scheduler-address` option.
   327    query-frontend-with-scheduler:
   328      build:
   329        context:    .
   330        dockerfile: dev.dockerfile
   331      image: cortex
   332      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18012 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=query-frontend -server.http-listen-port=8012 -server.grpc-listen-port=9012 -store.max-query-length=8760h -frontend.scheduler-address=query-scheduler:9011"]
   333      depends_on:
   334        - consul
   335        - minio
   336      environment:
   337        - JAEGER_AGENT_HOST=jaeger
   338        - JAEGER_AGENT_PORT=6831
   339        - JAEGER_TAGS=app=query-frontend2
   340        - JAEGER_SAMPLER_TYPE=const
   341        - JAEGER_SAMPLER_PARAM=1
   342      ports:
   343        - 8012:8012
   344        - 18012:18012
   345      volumes:
   346        - ./config:/cortex/config
   347  
   348    # This querier is connecting to query-scheduler, instead of query-frontend. This is achieved by setting -querier.scheduler-address="..."
   349    querier-with-scheduler:
   350      build:
   351        context:    .
   352        dockerfile: dev.dockerfile
   353      image: cortex
   354      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18013 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=querier -server.http-listen-port=8013 -server.grpc-listen-port=9013 -querier.scheduler-address=query-scheduler:9011 -querier.frontend-address="]
   355      depends_on:
   356        - consul
   357        - minio
   358      environment:
   359        - JAEGER_AGENT_HOST=jaeger
   360        - JAEGER_AGENT_PORT=6831
   361        - JAEGER_TAGS=app=querier-scheduler
   362        - JAEGER_SAMPLER_TYPE=const
   363        - JAEGER_SAMPLER_PARAM=1
   364      ports:
   365        - 8013:8013
   366        - 18013:18013
   367      volumes:
   368        - ./config:/cortex/config
   369  
   370    purger:
   371      build:
   372        context:    .
   373        dockerfile: dev.dockerfile
   374      image: cortex
   375      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./cortex --listen=:18014 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/cortex.yaml -target=purger -server.http-listen-port=8014 -server.grpc-listen-port=9014"]
   376      depends_on:
   377        - consul
   378        - minio
   379      environment:
   380        - JAEGER_AGENT_HOST=jaeger
   381        - JAEGER_AGENT_PORT=6831
   382        - JAEGER_TAGS=app=querier-scheduler
   383        - JAEGER_SAMPLER_TYPE=const
   384        - JAEGER_SAMPLER_PARAM=1
   385      ports:
   386        - 8014:8014
   387        - 18014:18014
   388      volumes:
   389        - ./config:/cortex/config