aboutsummaryrefslogtreecommitdiff
path: root/docker/mesos
diff options
context:
space:
mode:
authorMichal Rostecki <mrostecki@mirantis.com>2015-12-18 06:57:17 +0100
committerMichal Rostecki <mrostecki@mirantis.com>2016-01-19 17:34:58 +0100
commit679014a052f3daedf1e5d6d2a476b203b2fa33f8 (patch)
tree183be2cbd831d411e229b0cdb7e099cdf1a97078 /docker/mesos
parentc531338fef2b0d904bc9c8a85416806c77fd3cb1 (diff)
downloadkolla-679014a052f3daedf1e5d6d2a476b203b2fa33f8.tar.gz
kolla-679014a052f3daedf1e5d6d2a476b203b2fa33f8.zip
Add Dockerfiles for Mesos
Change-Id: Iaf317817eccaa72f2a86b1058a0179afd3427859 Partially-Implements: blueprint mesos
Diffstat (limited to 'docker/mesos')
-rw-r--r--docker/mesos/mesos-base/Dockerfile.j216
-rw-r--r--docker/mesos/mesos-master/Dockerfile.j210
-rw-r--r--docker/mesos/mesos-slave/Dockerfile.j237
-rw-r--r--docker/mesos/mesos-slave/docker.list2
-rw-r--r--docker/mesos/mesos-slave/docker.repo6
5 files changed, 71 insertions, 0 deletions
diff --git a/docker/mesos/mesos-base/Dockerfile.j2 b/docker/mesos/mesos-base/Dockerfile.j2
new file mode 100644
index 000000000..f4dd4e450
--- /dev/null
+++ b/docker/mesos/mesos-base/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}mesosphere-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum install -y \
+ mesos \
+ && yum clean all
+
+{% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN apt-get install -y --no-install-recommends \
+ mesos \
+ && apt-get clean
+
+{% endif %}
diff --git a/docker/mesos/mesos-master/Dockerfile.j2 b/docker/mesos/mesos-master/Dockerfile.j2
new file mode 100644
index 000000000..7bad7dee1
--- /dev/null
+++ b/docker/mesos/mesos-master/Dockerfile.j2
@@ -0,0 +1,10 @@
+FROM {{ namespace }}/{{ image_prefix }}mesos-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+RUN useradd --user-group mesos
+
+CMD ["mesos-master"]
+
+{{ include_footer }}
+
+USER mesos
diff --git a/docker/mesos/mesos-slave/Dockerfile.j2 b/docker/mesos/mesos-slave/Dockerfile.j2
new file mode 100644
index 000000000..339468d20
--- /dev/null
+++ b/docker/mesos/mesos-slave/Dockerfile.j2
@@ -0,0 +1,37 @@
+FROM {{ namespace }}/{{ image_prefix }}mesos-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+COPY docker.repo /etc/yum.repos.d/docker.repo
+
+RUN rpm --import https://yum.dockerproject.org/gpg
+
+RUN yum install -y \
+ docker-engine \
+ && yum clean all
+
+{% elif base_distro in ['ubuntu', 'debian'] %}
+
+COPY docker.list /etc/apt/sources.list.d/docker.list
+
+RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv 58118E89F3A912897C070ADBF76221572C52609D \
+ && apt-get update
+
+RUN apt-get install -y --no-install-recommends \
+ docker-engine \
+ && apt-get clean
+
+{% endif %}
+
+ENV MESOS_CONTAINERIZERS docker
+# Increase executor's timeout for pulling a Docker image to the slave
+# https://mesosphere.github.io/marathon/docs/native-docker.html
+ENV MESOS_EXECUTOR_REGISTRATION_TIMEOUT 5mins
+
+CMD ["mesos-slave"]
+
+{{ include_footer }}
+
+# This container should run as a root, because it's talking to the Docker
+# socket directly.
diff --git a/docker/mesos/mesos-slave/docker.list b/docker/mesos/mesos-slave/docker.list
new file mode 100644
index 000000000..45c9c88fb
--- /dev/null
+++ b/docker/mesos/mesos-slave/docker.list
@@ -0,0 +1,2 @@
+# Docker repo
+deb http://apt.dockerproject.org/repo ubuntu-trusty main
diff --git a/docker/mesos/mesos-slave/docker.repo b/docker/mesos/mesos-slave/docker.repo
new file mode 100644
index 000000000..a66294c93
--- /dev/null
+++ b/docker/mesos/mesos-slave/docker.repo
@@ -0,0 +1,6 @@
+[dockerrepo]
+name=Docker Repository
+baseurl=https://yum.dockerproject.org/repo/main/centos/7
+enabled=1
+gpgcheck=1
+gpgkey=https://yum.dockerproject.org/gpg