-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
151 lines (141 loc) · 3.52 KB
/
docker-compose.yml
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
services:
postgres:
image: postgres:latest
container_name: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=northwind
volumes:
- ./docker/postgres/databases:/docker-entrypoint-initdb.d
- ./docker/postgres/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh
command: ["postgres", "-c", "log_statement=all"]
networks:
- dqsdatalabs
minio:
image: minio/minio:latest
container_name: minio
ports:
- "9000:9000"
- "9001:9001"
environment:
- MINIO_ROOT_USER=${MINIO_ROOT_USER}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
- MINIO_DOMAIN=minio
volumes:
- minio-data:/data
networks:
- dqsdatalabs
command: ["server", "/data", "--console-address", ":9001"]
minio-mc:
image: minio/mc:latest
container_name: minio-mc
environment:
- MINIO_ACCESS_KEY=minio
- MINIO_SECRET_KEY=minio123
volumes:
- ./docker/minio/minio-entrypoint.sh:/usr/bin/entrypoint.sh
entrypoint: /bin/sh /usr/bin/entrypoint.sh
depends_on:
- minio
networks:
- dqsdatalabs
spark-master:
build:
context: ./docker/flink
dockerfile: Dockerfile
image: spark-sandbox:latest
container_name: spark-master
environment:
- SPARK_MASTER_HOST=spark-master
ports:
- 4040:4040
- 6066:6066
- 7077:7077
- 8080:8080
command: /opt/spark/bin/spark-class org.apache.spark.deploy.master.Master
networks:
- dqsdatalabs
spark-worker:
build:
context: ./docker/spark
dockerfile: Dockerfile
image: spark-sandbox:latest
container_name: spark-worker-1
environment:
- SPARK_MASTER=spark://spark-master:7077
- SPARK_WORKER_WEBUI_PORT=8082
depends_on:
- spark-master
ports:
- "8082:8082"
command: /opt/spark/bin/spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077
networks:
- dqsdatalabs
deploy:
resources:
limits:
cpus: "3.0"
memory: 2G
flink-jobmanager:
build:
context: ./docker/flink
dockerfile: Dockerfile
image: flink-sandbox:latest
container_name: flink-jobmanager
depends_on:
- minio
ports:
- "8081:8081"
expose:
- "6123"
environment:
FLINK_MODE: jobmanager
FLINK_CFG_REST_PORT: 8081
FLINK_PROPERTIES: |
jobmanager.rpc.address: flink-jobmanager
command: jobmanager
networks:
- dqsdatalabs
flink-taskmanager:
build:
context: ./docker/flink
dockerfile: Dockerfile
image: flink-sandbox:latest
container_name: flink-taskmanager
depends_on:
- flink-jobmanager
environment:
FLINK_MODE: taskmanager
FLINK_PROPERTIES: |
jobmanager.rpc.address: flink-jobmanager
command: taskmanager
networks:
- dqsdatalabs
jupyter:
build:
context: ./docker/jupyter
dockerfile: Dockerfile
image: jupyter-sandbox:latest
container_name: jupyter-notebooks
ports:
- "8888:8888"
environment:
- JUPYTER_ENABLE_LAB=yes
volumes:
- ./docker/jupyter/datasets:/home/jovyan/datasets
- ./docker/jupyter/notebooks:/home/jovyan/notebooks
networks:
- dqsdatalabs
networks:
dqsdatalabs:
name: dqsdatalabs
driver: bridge
ipam:
config:
- subnet: "172.50.0.0/24"
gateway: "172.50.0.1"
volumes:
minio-data: