From 679014a052f3daedf1e5d6d2a476b203b2fa33f8 Mon Sep 17 00:00:00 2001 From: Michal Rostecki Date: Fri, 18 Dec 2015 06:57:17 +0100 Subject: Add Dockerfiles for Mesos Change-Id: Iaf317817eccaa72f2a86b1058a0179afd3427859 Partially-Implements: blueprint mesos --- docker/mesos/mesos-base/Dockerfile.j2 | 16 ++++++++++++++ docker/mesos/mesos-master/Dockerfile.j2 | 10 +++++++++ docker/mesos/mesos-slave/Dockerfile.j2 | 37 +++++++++++++++++++++++++++++++++ docker/mesos/mesos-slave/docker.list | 2 ++ docker/mesos/mesos-slave/docker.repo | 6 ++++++ 5 files changed, 71 insertions(+) create mode 100644 docker/mesos/mesos-base/Dockerfile.j2 create mode 100644 docker/mesos/mesos-master/Dockerfile.j2 create mode 100644 docker/mesos/mesos-slave/Dockerfile.j2 create mode 100644 docker/mesos/mesos-slave/docker.list create mode 100644 docker/mesos/mesos-slave/docker.repo (limited to 'docker/mesos') 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 -- cgit v1.2.3