-
Notifications
You must be signed in to change notification settings - Fork 130
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
104 lines (98 loc) · 3.66 KB
/
docker-compose.yaml
File metadata and controls
104 lines (98 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
services:
php:
# the developer image comes from opentelemetry-php (the core repository), and is built by github actions
image: ghcr.io/open-telemetry/opentelemetry-php/opentelemetry-php-base:${PHP_VERSION}
volumes:
- ./:/usr/src/myapp
user: "${PHP_USER}:root"
environment:
XDEBUG_MODE: ${XDEBUG_MODE:-off}
XDEBUG_CONFIG: ${XDEBUG_CONFIG:-''}
PHP_IDE_CONFIG: ${PHP_IDE_CONFIG:-''}
RABBIT_HOST: ${RABBIT_HOST:-rabbitmq}
KAFKA_HOST: ${KAFKA_HOST:-kafka}
MONGODB_HOST: ${MONGODB_HOST:-mongodb}
MONGODB_PORT: ${MONGODB_PORT:-27017}
MYSQL_HOST: ${MYSQL_HOST:-mysql}
POSTGRESQL_HOST: ${POSTGRESQL_HOST:-postgresql}
zipkin:
image: openzipkin/zipkin-slim@sha256:d951994017185bce1c859b62e13adf640e26c37e08b90ca2e4de2669dc1aad87
ports:
- 9411:9411
jaeger:
image: jaegertracing/all-in-one@sha256:ab6f1a1f0fb49ea08bcd19f6b84f6081d0d44b364b6de148e1798eb5816bacac
environment:
COLLECTOR_ZIPKIN_HOST_PORT: 9412
ports:
- 9412:9412
- 16686:16686
collector:
image: otel/opentelemetry-collector-contrib@sha256:8164eab2e6bca9c9b0837a8d2f118a6618489008a839db7f9d6510e66be3923c
command: [ "--config=/etc/otel-collector-config.yml" ]
volumes:
- ./files/collector/otel-collector-config.yml:/etc/otel-collector-config.yml
rabbitmq:
image: rabbitmq:3@sha256:87178a0ee3e2f52980ba356d38646ed1056705ff2d5ff281f8965456eaa0c1e3
hostname: rabbitmq
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 30s
timeout: 30s
retries: 3
ports:
- "5672:5672/tcp"
kafka:
image: confluentinc/cp-kafka:7.9.5@sha256:c4c6b755551da17fff056b9c8b39700f99020083bd2d69a171ece4784f33e640
hostname: kafka
ports:
- "9092:9092/tcp"
environment:
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_ADVERTISED_LISTENERS: ${KAFKA_ADVERTISED_LISTENERS:-PLAINTEXT://kafka:29092,PLAINTEXT_HOST://kafka:9092}
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_LISTENERS: 'PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
command: "bash -c '/tmp/update_run.sh && /etc/confluent/docker/run'"
volumes:
- ./docker/kafka/update_run.sh:/tmp/update_run.sh
mongodb:
image: mongo:4@sha256:52c42cbab240b3c5b1748582cc13ef46d521ddacae002bbbda645cebed270ec0
hostname: mongodb
ports:
- "27017:27017/tcp"
mysql:
image: mysql:8.0@sha256:64756cc92f707eb504496d774353990bcb0f6999ddf598b6ad188f2da66bd000
hostname: mysql
ports:
- "3306:3306/tcp"
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: otel_db
MYSQL_USER: otel_user
MYSQL_PASSWORD: otel_passwd
healthcheck:
test: mysql -uotel_user -potel_passwd -e "USE otel_db;"
interval: 30s
timeout: 30s
retries: 3
volumes:
- ./docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
postgresql:
image: postgres:17.9@sha256:b994732fcf33f73776c65d3a5bf1f80c00120ba5007e8ab90307b1a743c1fc16
hostname: postgresql
ports:
- "5432:5432/tcp"
environment:
POSTGRES_DB: otel_db
POSTGRES_USER: otel_user
POSTGRES_PASSWORD: otel_passwd
healthcheck:
test: ["CMD-SHELL", "PGPASSWORD=otel_passwd psql -U otel_user -d otel_db -h 127.0.0.1 -c 'SELECT 1'"]
interval: 30s
timeout: 90s
retries: 3
volumes:
- ./docker/postgresql/init.sql:/docker-entrypoint-initdb.d/init.sql