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/marathon/Dockerfile.j2 | 50 ++++++++++++++++++++++++++++++++++ docker/marathon/java8-runtime-headless | 9 ++++++ docker/marathon/openjdk.list | 2 ++ 3 files changed, 61 insertions(+) create mode 100644 docker/marathon/Dockerfile.j2 create mode 100644 docker/marathon/java8-runtime-headless create mode 100644 docker/marathon/openjdk.list (limited to 'docker/marathon') diff --git a/docker/marathon/Dockerfile.j2 b/docker/marathon/Dockerfile.j2 new file mode 100644 index 000000000..ba289ec11 --- /dev/null +++ b/docker/marathon/Dockerfile.j2 @@ -0,0 +1,50 @@ +FROM {{ namespace }}/{{ image_prefix }}mesos-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} + +RUN yum install -y \ + marathon \ + && yum clean all + +{% elif base_distro in ['ubuntu', 'debian'] %} + +COPY openjdk.list /etc/apt/sources.list.d/openjdk.list + +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv DA1A4A13543B466853BAF164EB9B1D8886F44E2A \ + && apt-get update + +# NOTE(nihilifer): Marathon package for Ubuntu depends on Oracle Java and +# there is no official way to use OpenJDK. There is no way to accept the +# license in kolla. That's why the fake package is created here and OpenJDK +# is used anyway. +# We only have to do this with Ubuntu - CentOS packages don't depend strictly +# on Oracle JDK and installing them by yum just installs OpenJDK as a +# dependency. + +RUN apt-get install -y --no-install-recommends \ + equivs \ + gcc \ + && apt-get clean + +COPY java8-runtime-headless / + +RUN equivs-build java8-runtime-headless \ + && dpkg -i java8-runtime-headless_42_all.deb \ + && rm java8-runtime-headless java8-runtime-headless_42_all.deb + +RUN apt-get install -y --no-install-recommends \ + marathon \ + openjdk-8-jre-headless \ + && apt-get clean + +{% endif %} + +RUN useradd --user-group marathon \ + && chmod 755 /usr/bin/marathon + +CMD ["marathon", "--no-logger"] + +{{ include_footer }} + +USER marathon diff --git a/docker/marathon/java8-runtime-headless b/docker/marathon/java8-runtime-headless new file mode 100644 index 000000000..5c24a9339 --- /dev/null +++ b/docker/marathon/java8-runtime-headless @@ -0,0 +1,9 @@ +Section: misc +Priority: optional +Standards-Version: 3.9.2 + +Package: java8-runtime-headless +Version: 1:42 +Maintainer: Kolla Project (https://launchpad.net/kolla) +Architecture: all +Description: fake Oracle Java package to block a non-free dependency diff --git a/docker/marathon/openjdk.list b/docker/marathon/openjdk.list new file mode 100644 index 000000000..e1fa60ad4 --- /dev/null +++ b/docker/marathon/openjdk.list @@ -0,0 +1,2 @@ +# OpenJDK 8 repo +deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main -- cgit v1.2.3