kolla/docker/marathon/Dockerfile.j2

58 lines
1.7 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}mesos-base:{{ tag }}
MAINTAINER {{ maintainer }}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
RUN yum -y install \
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
# NOTE(ajafo) Installation of Marathon/OpenJDK breaks cacerts file,
# so the ca-certificates-java package is purged
# and installed again as a workaround for this problem.
RUN apt-get install -y --no-install-recommends \
marathon \
openjdk-8-jre-headless \
&& dpkg --purge --force-depends ca-certificates-java \
&& apt-get install -y --no-install-recommends \
ca-certificates-java \
&& apt-get clean
{% endif %}
RUN useradd --user-group marathon \
&& chmod 755 /usr/bin/marathon
CMD ["marathon", "--no-logger"]
{{ include_footer }}
USER marathon