-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
139 lines (136 loc) · 3.96 KB
/
docker-compose.yaml
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
version: '3.7'
services:
ui:
image: fogemulator/sparkedgeemu
build: .
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- ./:/home/jovyan/work/project
- ${DATA_FOLDER}:/data
- ${DATA_FOLDER}:/home/jovyan/work/project/data
ports:
- 8888:8888
environment:
- "JUPYTER_ENABLE_LAB=yes"
- "GRANT_SUDO=yes"
networks:
- edge_net
user: root
controller:
image: fogemulator/fogify:test # New fogify version but in testing mode
entrypoint: [ "python", "/code/fogify/main.py", "--controller"]
# [ "python", "/code/fogify/main.py", "--controller"] -> Production stack | [ "sh", "./controller-entrypoint.sh"] -> Development stack
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- ${DATA_FOLDER}:/data
ports:
- 5000:5000
extra_hosts:
- ${MANAGER_NAME}:${MANAGER_IP}
environment:
CPU_OVERSUBSCRIPTION_PERCENTAGE: ${CPU_OVERSUBSCRIPTION_PERCENTAGE}
RAM_OVERSUBSCRIPTION_PERCENTAGE: ${RAM_OVERSUBSCRIPTION_PERCENTAGE}
CPU_FREQ: ${CPU_FREQ}
HOST_IP: ${HOST_IP}
NAMESPACE_PATH: ${NAMESPACE_PATH}
SNIFFING_ENABLED: ${SNIFFING_ENABLED}
SNIFFING_PERIOD: ${SNIFFING_PERIOD}
CONNECTOR: ${CONNECTOR}
MANAGER_IP: ${MANAGER_IP}
MANAGER_NAME: ${MANAGER_NAME}
XTABLES_LIBDIR: /usr/lib/iptables
networks:
- edge_net
prometheus:
image: prom/prometheus:latest
volumes:
- ./configs/prometheus/:/etc/prometheus:Z
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
ports:
- "9091:9090"
networks:
- edge_net
consul:
image: consul
ports:
- 8400:8400
- 8500:8500
- 8600:53/udp
command: agent -server -client=0.0.0.0 -dev -node=node0 -bootstrap-expect=1 -data-dir=/tmp/consul
environment:
CONSUL_SVC_ADDR_AUTO: "true"
labels:
SERVICE_IGNORE: 'true'
CONSUL_SVC_ADDR_AUTO: "true"
networks:
- edge_net
agent:
image: fogemulator/fogify:test # New fogify version but in testing mode
entrypoint: [ "python", "/code/fogify/main.py", "--agent", "--agent-ip", "${HOST_IP}"]
# [ "sh", "./agent-entrypoint.sh"] -> Production stack | [ "python", "/code/fogify/main.py", "--agent", "--agent-ip", "${HOST_IP}"] -> Development stack
extra_hosts:
- ${MANAGER_NAME}:${MANAGER_IP}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /proc/:${NAMESPACE_PATH}
- /var/run/docker/:/var/run/docker/
- /sys/class/net/:/sys/class/net/
- /lib/modules:/lib/modules
- /sbin/modprobe:/sbin/modprobe
- /usr/lib/tc:/usr/lib/tc
privileged: true
cap_add:
- ALL
depends_on:
- cadvisor
- controller
- consul
ports:
- 5500:5500
environment:
CONTROLLER_IP: ${MANAGER_IP}
HOST_IP: ${HOST_IP}
CPU_FREQ: ${CPU_FREQ}
NAMESPACE_PATH: ${NAMESPACE_PATH}
SNIFFING_PERIODICITY: ${SNIFFING_PERIODICITY}
CONNECTOR: ${CONNECTOR}
MANAGER_IP: ${MANAGER_IP}
MANAGER_NAME: ${MANAGER_NAME}
XTABLES_LIBDIR: /usr/lib/iptables
networks:
- edge_net
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
ports:
- 9090:8080
expose:
- 9090
networks:
- edge_net
spark-master:
image: andreper/spark-master:3.0.0
ports:
- 8080:8080
- 7077:7077
environment:
- SPARK_MASTER_HOST=spark-master
- SPARK_LOCAL_HOSTNAME=spark-master
volumes:
- ${DATA_FOLDER}:/data
networks:
- edge_net
networks:
edge_net:
external: true