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