docker-compose setup

Updated .gitignore to ignore test log dirs from project.

HOST_IP env var is used by entrypoint script to populate
the PCP config.
The entrypoint script does the following.
1. construct the PCP config file using the value of the env var
	HOST_IP.
2. run elektron by providing all the basic command-line options.

Added build and run instructions in the README. These include
instructions to run elektron on bare-metal or using docker-compose.
This commit is contained in:
Pradyumna Kaushik 2019-11-07 18:49:55 -05:00
parent e3caa90c31
commit df4952fc0d
5 changed files with 218 additions and 2 deletions

86
docker-compose.yaml Normal file
View file

@ -0,0 +1,86 @@
version: "2"
services:
zk:
image: rdelvalle/zookeeper
restart: on-failure
ports:
- "2181:2181"
environment:
ZK_CONFIG: tickTime=2000,initLimit=10,syncLimit=5,maxClientCnxns=128,forceSync=no,clientPort=2181
ZK_ID: 1
networks:
elektron-cluster:
ipv4_address: 19.16.4.3
logging:
driver: none
mesos-master:
image: rdelvalle/mesos-master:1.5.1
restart: on-failure
ports:
- "5050:5050"
environment:
MESOS_ZK: zk://19.16.4.3:2181/mesos
MESOS_QUORUM: 1
MESOS_HOSTNAME: localhost
MESOS_CLUSTER: test-cluster
MESOS_REGISTRY: replicated_log
MESOS_WORK_DIR: /tmp/mesos
networks:
elektron-cluster:
ipv4_address: 19.16.4.4
logging:
driver: none
depends_on:
- zk
mesos-agent:
image: pkaushi1/mesos-agent-elektron:1.5.1
pid: host
restart: on-failure
ports:
- "5051:5051"
environment:
MESOS_MASTER: zk://19.16.4.3:2181/mesos
MESOS_CONTAINERIZERS: mesos,docker
MESOS_ISOLATION: cgroups/cpu
MESOS_PORT: 5051
MESOS_HOSTNAME: localhost
MESOS_RESOURCES: ports(*):[11000-11999]
MESOS_SYSTEMD_ENABLE_SUPPORT: 'false'
MESOS_WORK_DIR: /tmp/mesos
networks:
elektron-cluster:
ipv4_address: 19.16.4.5
logging:
driver: none
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- mesos-master
elektron:
image: pkaushi1/elektron:v1
restart: on-failure
environment:
ELEKTRON_EXECUTABLE_NAME: elektron
ELEKTRON_WORKLOAD: workload_sample.json
ELEKTRON_MESOS_MASTER_LOCATION: 19.16.4.4:5050
ELEKTRON_LOGDIR_PREFIX: elektron-test-run
HOST_IP: ${HOST_IP}
networks:
elektron-cluster:
ipv4_address: 19.16.4.6
volumes:
- ./:/elektron
depends_on:
- mesos-agent
networks:
elektron-cluster:
ipam:
config:
- subnet: 19.16.4.0/16
gateway: 19.16.4.1