Public | Automated Build

Last pushed: 6 months ago
Short Description
Mesos 0.22 on Debian:Jessie with Chronos & Marathon
Full Description

Also includes Chronos and Marathon 0.8.0, but it doesn't run all of them together (one process per container discipline).

For the mesos-slave, instead of doing docker-in-docker (which complicates things), uses the host's docker. Add the following:

 --privileged \
 -v /sys:/sys \
 -v /usr/bin/docker:/usr/bin/docker:ro \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /lib64/libdevmapper.so.1.02:/lib/libdevmapper.so.1.02:ro \ 

Example, from a systemd unit, assuming weave SDN:

ExecStart=/bin/bash -c  ' \
bridge_ip="$(ifconfig docker0 | grep \'inet \' | awk \'{ print $2}\')" && \
/usr/bin/docker run -t \
--hostname ${CONTAINER_NAME}.weave.local \
--name=${CONTAINER_NAME} \
-e MESOS_HOSTNAME=${CONTAINER_NAME}.weave.local \
-e MESOS_WORK_DIR=/var/mesos \
-e MESOS_LOG_DIR=/var/log \
-e MESOS_ZK=zk://zoo1:2181,zoo2:2181,zoo3:2181/mesos \
-e MESOS_QUORUM=2 \
-e MESOS_ZK_SESSION_TIMEOUT=30secs \
-e MESOS_REGISTRY_STORE_TIMEOUT=15secs \
-p 5050:5050 \
--dns=$bridge_ip \
--dns-search weave.local \
yaronr/mesos:latest mesos-master '

For mesos slave, replace 'mesos-master' with 'mesos-slave' and appropriate environment variables (-e MESOS_<capital runtime arg>)

For Chronos - replace mesos-master with chronos, etc. you get it.

To replace the /etc/resolv.conf inside your container, add the following (both of them):

-e MULTICLOUD_DNS="$bridge_ip" \
-e MULTICLOUD_DNS_SEARCH="weave.local" \

This will effectively replace the container's resolv.conf with:

nameserver 10.10.0.1 # (or whatever your bridge ip is)
search weave.local
Docker Pull Command
Owner
yaronr
Source Repository