-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
226 lines (209 loc) · 5.55 KB
/
docker-compose.yml
File metadata and controls
226 lines (209 loc) · 5.55 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
services:
postgres:
container_name: postgres
image: postgres
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/customer
volumes:
- postgres:/data/postgres
ports:
- "5433:5432"
networks:
- postgres
restart: unless-stopped
pgadmin:
container_name: pgadmin
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
PGADMIN_CONFIG_SERVER_MODE: 'False'
volumes:
- pgadmin:/var/lib/pgadmin
ports:
- "5050:80"
networks:
- postgres
restart: unless-stopped
mongodb_container:
container_name: mongodb-container
image: mongo:latest
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rootpassword
ports:
- 27017:27017
networks:
- mongodb_container
volumes:
- mongodb_data_container:/data/db
# mongo-gui-docker:
# image: openkbs/mongo-gui-docker
# command: /usr/bin/mongodb-compass
# build:
# context: ./
# dockerfile: Dockerfile
# args:
# buildno: 1
# container_name: mongo-gui-docker
# environment:
# - USER_ID=${USER_ID:-1000}
# - GROUP_ID=${GROUP_ID:-1000}
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix
# - ./workspace:/home/developer/workspace
# depends_on:
# - mongo
# links:
# - mongo
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
volumes:
- ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/
- ~/.docker-conf/rabbitmq/log/:/var/log/rabbitmq
networks:
- microservices
microservices-customer:
container_name: microservices-customer
image: microservices/customer-1
networks:
- microservices
- postgres
ports:
- 8090:8090
microservices-eureka-server:
container_name: microservices-eureka-server
image: microservices/eureka-server
networks:
- microservices
ports:
- 8761:8761
microservices-fraud:
container_name: microservices-fraud
image: microservices/fraud
networks:
- microservices
- mongodb_container
ports:
- 8092:8092
microservices-notification:
container_name: microservices-notification
image: microservices/notification-1
networks:
- microservices
ports:
- 8093:8093
config-server:
container_name: config-server
image: microservices/config-server
networks:
- microservices
- postgres
ports:
- 8096:8096
storage:
image: openzipkin/zipkin-mysql:latest
container_name: mysql
networks:
- microservices
ports:
- 3306:3306
# The zipkin process services the UI, and also exposes a POST endpoint that
# instrumentation can send trace data to. Scribe is disabled by default.
zipkin:
image: openzipkin/zipkin
container_name: zipkin
# Environment settings are defined here https://github.com/openzipkin/zipkin/blob/master/zipkin-server/README.md#environment-variables
environment:
- STORAGE_TYPE=mysql
# Point the zipkin at the storage backend
- MYSQL_HOST=mysql
- MYSQL_USER=zipkin
- MYSQL_PASS=zipkin
# Uncomment to enable scribe
# - SCRIBE_ENABLED=true
# Uncomment to enable self-tracing
# - SELF_TRACING_ENABLED=true
# - COLLECTOR_HTTP_ENABLED=true
# Uncomment to enable debug logging
# - JAVA_OPTS=-Dlogging.level.zipkin2=DEBUG
ports:
# Port used for the Zipkin UI and HTTP Api
- 9411:9411
# Uncomment if you set SCRIBE_ENABLED=true
# - 9410:9410
networks:
- microservices
depends_on:
- storage
# Adds a cron to process spans since midnight every hour, and all spans each day
# This data is served by http://192.168.99.100:8080/dependency
#
# For more details, see https://github.com/openzipkin/docker-zipkin-dependencies
dependencies:
image: openzipkin/zipkin-dependencies
container_name: dependencies
entrypoint: crond -f
environment:
- STORAGE_TYPE=mysql
- MYSQL_HOST=mysql
# Add the baked-in username and password for the zipkin-mysql image
- MYSQL_USER=zipkin
- MYSQL_PASS=zipkin
# Uncomment to see dependency processing logs
# - ZIPKIN_LOG_LEVEL=DEBUG
# Uncomment to adjust memory used by the dependencies job
# - JAVA_OPTS=-verbose:gc -Xms1G -Xmx1G
depends_on:
- storage
networks:
- microservices
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- 9090:9090
depends_on:
- storage
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
networks:
- microservices
grafana:
image: grafana/grafana
container_name: grafana
ports:
- 3000:3000
depends_on:
- prometheus
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
networks:
- microservices
setup_grafana_datasource:
image: appropriate/curl
container_name: setup_grafana_datasource
depends_on:
- grafana
volumes:
- ./prometheus/create-datasource-and-dashboard.sh:/create.sh:ro
command: /create.sh
networks:
postgres:
driver: bridge
microservices:
driver: bridge
mongodb_container:
driver: bridge
volumes:
postgres:
pgadmin:
mongodb_data_container: