Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save abdul/fc0437a687248ff94ac7 to your computer and use it in GitHub Desktop.
Save abdul/fc0437a687248ff94ac7 to your computer and use it in GitHub Desktop.
To get started with Docker/Marathon/Mesos, you need to install a
new Mesos, a new Marathon, and Deimos, the bridge to Docker.
You'll also need Docker and the JVM. These instructions are for
Ubuntu 13.10.
## Install Mesos prerequisites
:; sudo apt-get update
:; sudo apt-get install zookeeperd default-jre python-setuptools python-protobuf curl pip
## Install a custom build of Mesos, build from this branch:
## https://github.com/mesosphere/mesos/tree/0.19.0-xcon3
:; curl -fL http://downloads.mesosphere.io/master/ubuntu/13.10/mesos_0.19.0-xcon3_amd64.deb -o /tmp/mesos.deb
:; sudo dpkg -i /tmp/mesos.deb
## Install the updated Mesos Python egg, for use in authoring frameworks
:; curl -fL http://downloads.mesosphere.io/master/ubuntu/13.10/mesos_0.19.0-xcon3_amd64.egg -o /tmp/mesos.egg
:; sudo easy_install /tmp/mesos.egg
## Install Deimos, built from:
## https://github.com/mesosphere/deimos/releases/tag/0.2.3
:; sudo pip install deimos
## Install the Marathon Deb package, built from this branch:
## https://github.com/mesosphere/marathon/tree/wip-container-info
:; curl -fL http://downloads.mesosphere.io/marathon/marathon_0.5.0-xcon2_noarch.deb -o /tmp/marathon.deb
:; sudo dpkg -i /tmp/marathon.deb
To configure Mesos to use Deimos, you need to set the contents
of two files:
:; sudo mkdir -p /etc/mesos-slave
:; echo /usr/local/bin/deimos | sudo dd of=/etc/mesos-slave/containerizer_path
:; echo external | sudo dd of=/etc/mesos-slave/isolation
Installing Docker is documented on the Docker site. Here's one way:
## Install Docker
:; sudo apt-get install linux-image-extra-"$(uname -r)"
:; sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
:; echo 'deb http://get.docker.io/ubuntu docker main' | sudo dd of=/etc/apt/sources.list.d/docker.list
:; sudo apt-get update
:; sudo apt-get install lxc-docker
It might be helpful to pre-cache the `libmesos` Docker image,
used for custom executors:
:; sudo docker pull libmesos/ubuntu:13.10
At this point, you should take measures to ensure all services
have started (or restarted). A reboot would be easiest.
To test that it seems to be working, try the Deimos integration
tests:
## If "$eth0_ip" does not work, try "$(hostname)"
:; git clone https://github.com/mesosphere/deimos.git
:; ./deimos/integration-test/test-suite "$eth0_ip":5050
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment