
version: '2'
services:
  zookeeper:
    image: netflixoss/exhibitor:1.5.2
    hostname: zookeeper
    ports:
      - "2181:2181"
  mesos-master:
    image: mesosphere/marathon:v1.2.0-RC6
    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_WORK_DIR=/var/lib/mesos
      - MESOS_QUORUM=1
      - MESOS_ZK=zk://zookeeper:2181/mesos
  mesos-slave:
    image: mesosphere/mesos-slave-dind:0.2.4_mesos-0.27.2_docker-1.8.2_ubuntu-14.04.4
    entrypoint:
      - mesos-slave
    privileged: true
    hostname: mesos-slave
    ports:
      - "5051:5051"
    links:
      - zookeeper
      - mesos-master
    environment:
      - MESOS_CONTAINERIZERS=docker,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:2;mem:2048;disk:20480;ports(*):[12000-12999]
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
  marathon:
    image: mesosphere/marathon:v1.2.0-RC6
    ports:
     - "8080:8080"
    links:
      - zookeeper
      - mesos-master
    extra_hosts:
      - "mesos-slave:172.17.0.1"
    environment:
      - MARATHON_ZK=zk://zookeeper:2181/marathon
      - MARATHON_MASTER=zk://zookeeper:2181/mesos
