-
Notifications
You must be signed in to change notification settings - Fork 77
/
docker-compose.yml
90 lines (89 loc) · 2.54 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
version: '2'
services:
zookeeper:
image: zookeeper:3.4.9
hostname: zookeeper
ports:
- "2181:2181"
mesos-master:
image: mesosphere/mesos-master:1.1.0-2.0.107.ubuntu1404
hostname: mesos-master
entrypoint: [ "mesos-master" ]
ports:
- "5050:5050"
links:
- zookeeper
environment:
- MESOS_CLUSTER=local
- MESOS_HOSTNAME=mesos-master.docker
- MESOS_LOG_DIR=/var/log
- MESOS_QUORUM=1
- MESOS_WORK_DIR=/var/lib/mesos
- MESOS_ROLES=public
- MESOS_ZK=zk://zookeeper:2181/mesos
- MESOS_ACLS=file:///mesos-config/acls
- MESOS_CREDENTIALS=file:///mesos-config/credentials
volumes:
- ./resources/mesos-config:/mesos-config
mesos-slave:
image: mesosphere/mesos-slave:1.1.0-2.0.107.ubuntu1404
entrypoint:
- mesos-slave
privileged: true
hostname: mesos-slave
ports:
- "5051:5051"
links:
- zookeeper
- mesos-master
environment:
- MESOS_CONTAINERIZERS=mesos
- MESOS_ISOLATOR=cgroups/cpu, cgroups/mem
- MESOS_LOG_DIR=var/log
- MESOS_MASTER=zk://zookeeper:2181/mesos
- MESOS_PORT=5051
- MESOS_WORK_DIR=/var/lib/mesos
- MESOS_EXECUTOR_REGISTRATION_TIMEOUT=5mins
- MESOS_EXECUTOR_SHUTDOWN_GRACE_PERIOD=90secs
- MESOS_DOCKER_STOP_TIMEOUT=60secs
- MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports(*):[12000-12999]
marathon-service:
image: mesosphere/marathon:latest
expose:
- "8080"
links:
- zookeeper
- mesos-master
environment:
- MARATHON_ZK=zk://zookeeper:2181/marathon
- MARATHON_MASTER=zk://zookeeper:2181/mesos
- MARATHON_DECLINE_OFFER_DURATION=3600000
- MARATHON_PLUGIN_DIR=/plugins
- MARATHON_PLUGIN_CONF=/plugin-conf.json
- MARATHON_MESOS_AUTHENTICATION_PRINCIPAL=marathon
- MARATHON_MESOS_AUTHENTICATION_SECRET_FILE=/marathon.secret
- MARATHON_MESOS_ROLE=public
volumes:
- ./resources/marathon-plugins:/plugins
- ./resources/marathon.plugin-conf.json:/plugin-conf.json
- ./resources/marathon.secret:/marathon.secret
marathon-ui:
image: nginx:latest
hostname: marathon-ui
ports:
- "8080:8080"
links:
- marathon-service
environment:
- DNSDOCK_ALIAS=marathon.docker
volumes:
- ./resources/marathon-ui.nginx.conf:/etc/nginx/nginx.conf
- dist:/usr/share/nginx/html
develop-environment:
build:
context: .
volumes:
- ./src:/opt/marathon-ui/src
- dist:/opt/marathon-ui/dist
volumes:
dist: {}