Docker

Overview

Since version 1.6.0.0 JLupin Platform is fully prepared to operate inside Docker image (also orchestrated by Kubernetes or Marathon). The official images base on the most popular Linux distributions and are available on Docker Hub:

Dockerfile

The following Dockerfiles have been used to create the official jlupin docker image. Feel free to use to create your own images, remember that you need JDK only to do that.

Centos

FROM centos:7
USER root
# CONFIGURATION
ENV JLUPIN_VERSION 1.6.0.0
ENV JLUPIN_HOME /opt/jlupin
ENV JLUPIN_SHA512 38bbd687d18d54b9d13200e7e8175eaa51eb63b223b7b0a7aacbf62a617ff3c0bd5ac3e66a209858b1da20edc34c705007bd8f151c58c1127893d21e779e6f70
## JAVA
# JDK 8
ENV JAVA_URL https://cdn.azul.com/zulu/bin/zulu8.36.0.1-ca-jdk8.0.202-linux_x64.tar.gz
ENV JAVA_MD5 c7f21dd17f417a1ac11aa7bf752c9fbf
ENV JAVA_DIR zulu8.36.0.1-ca-jdk8.0.202-linux_x64
RUN curl -o /opt/openjdk.tar.gz $JAVA_URL && \
        if [ -n "$JAVA_MD5" ]; then \
                echo "$JAVA_MD5 /opt/openjdk.tar.gz" | md5sum -c -; \
        fi && \
        tar -xzf /opt/openjdk.tar.gz -C /opt && \
        rm -f /opt/openjdk.tar.gz && \
        ln -s /opt/zulu11.29.3-ca-jdk11.0.2-linux_x64 /opt/java8
# JDK 11
ENV JAVA_URL https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz
ENV JAVA_MD5 636afcfcae308f3676016d35ebbf9dbb
ENV JAVA_DIR zulu11.29.3-ca-jdk11.0.2-linux_x64
RUN curl -o /opt/openjdk.tar.gz $JAVA_URL && \
    if [ -n "$JAVA_MD5" ]; then \
        echo "$JAVA_MD5 /opt/openjdk.tar.gz" | md5sum -c -; \
    fi && \
    tar -xzf /opt/openjdk.tar.gz -C /opt && \
    rm -f /opt/openjdk.tar.gz && \
    ln -s /opt/zulu11.29.3-ca-jdk11.0.2-linux_x64 /opt/java11
# Here decide which JDK will be used for JLupin by default
ENV JAVA_HOME /opt/java8

# JLUPIN
RUN groupadd jlapp && useradd -d /home/jlapp -g jlapp -m -s /bin/bash jlapp && \
    [ ! -x $JLUPIN_HOME ] && mkdir -p $JLUPIN_HOME && \
    curl -o $JLUPIN_HOME/jlupin_platform.tar.gz https://jlupin.io/repo/docker/test/jlupin_platform_docker_version_$(echo $JLUPIN_VERSION|sed s/"\."/"_"/g).tar.gz && \
    echo "$JLUPIN_SHA512 $JLUPIN_HOME/jlupin_platform.tar.gz" | sha512sum -c - && \
    tar -xzf $JLUPIN_HOME/jlupin_platform.tar.gz -C $JLUPIN_HOME && \
    rm -f $JLUPIN_HOME/jlupin_platform.tar.gz
# COMMON
EXPOSE 8000/tcp 8001/tcp 8888/tcp 8889/tcp 9090/tcp 9095/tcp 9096/tcp 9097/tcp 9098/tcp
USER jlapp
WORKDIR ${JLUPIN_HOME}/platform/start
ENTRYPOINT ["./start.sh"]
CMD ["-i"]

Ubuntu

FROM ubuntu:18.04
USER root
# CONFIGURATION
ENV JLUPIN_VERSION 1.6.0.0
ENV JLUPIN_HOME /opt/jlupin
ENV JLUPIN_SHA512 38bbd687d18d54b9d13200e7e8175eaa51eb63b223b7b0a7aacbf62a617ff3c0bd5ac3e66a209858b1da20edc34c705007bd8f151c58c1127893d21e779e6f70
# OS
RUN apt-get -qq update
RUN apt-get -y install curl
## JAVA
# JDK 8
ENV JAVA_URL https://cdn.azul.com/zulu/bin/zulu8.36.0.1-ca-jdk8.0.202-linux_x64.tar.gz
ENV JAVA_MD5 c7f21dd17f417a1ac11aa7bf752c9fbf
ENV JAVA_DIR zulu8.36.0.1-ca-jdk8.0.202-linux_x64
RUN curl -o /opt/openjdk.tar.gz $JAVA_URL && \
        if [ -n "$JAVA_MD5" ]; then \
                echo "$JAVA_MD5 /opt/openjdk.tar.gz" | md5sum -c -; \
        fi && \
        tar -xzf /opt/openjdk.tar.gz -C /opt && \
        rm -f /opt/openjdk.tar.gz && \
        ln -s /opt/zulu11.29.3-ca-jdk11.0.2-linux_x64 /opt/java8
# JDK 11
ENV JAVA_URL https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz
ENV JAVA_MD5 636afcfcae308f3676016d35ebbf9dbb
ENV JAVA_DIR zulu11.29.3-ca-jdk11.0.2-linux_x64
RUN curl -o /opt/openjdk.tar.gz $JAVA_URL && \
        if [ -n "$JAVA_MD5" ]; then \
                echo "$JAVA_MD5 /opt/openjdk.tar.gz" | md5sum -c -; \
        fi && \
        tar -xzf /opt/openjdk.tar.gz -C /opt && \
        rm -f /opt/openjdk.tar.gz && \
        ln -s /opt/zulu11.29.3-ca-jdk11.0.2-linux_x64 /opt/java11
# Here decide which JDK will be used for JLupin by default
ENV JAVA_HOME /opt/java8

# JLUPIN
RUN groupadd jlapp && useradd -d /home/jlapp -g jlapp -m -s /bin/bash jlapp && \
    [ ! -x $JLUPIN_HOME ] && mkdir -p $JLUPIN_HOME && \
    curl -o $JLUPIN_HOME/jlupin_platform.tar.gz https://jlupin.io/repo/docker/test/jlupin_platform_docker_version_$(echo $JLUPIN_VERSION|sed s/"\."/"_"/g).tar.gz && \
    echo "$JLUPIN_SHA512 $JLUPIN_HOME/jlupin_platform.tar.gz" | sha512sum -c - && \
    tar -xzf $JLUPIN_HOME/jlupin_platform.tar.gz -C $JLUPIN_HOME && \
    rm -f $JLUPIN_HOME/jlupin_platform.tar.gz
# COMMON
EXPOSE 8000/tcp 8001/tcp 8888/tcp 8889/tcp 9090/tcp 9095/tcp 9096/tcp 9097/tcp 9098/tcp
USER jlapp
WORKDIR ${JLUPIN_HOME}/platform/start
ENTRYPOINT ["./start.sh"]
CMD ["-i"]