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:

You can find there JLupin Platform and JLupin Platform Control Center for CentOS and Ubuntu

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.1.0
ENV JLUPIN_HOME /opt/jlupin
ENV JLUPIN_SHA512 b4290d6b85df6a2dfb41963374f1cbf5fa08b9b2b2212dbdc8b36851e566915d3474bf3a16a352680a1edf4512dd3152a466dece41a0b9daffff669cb04d2dcd
## 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.1.0
ENV JLUPIN_HOME /opt/jlupin
ENV JLUPIN_SHA512 b4290d6b85df6a2dfb41963374f1cbf5fa08b9b2b2212dbdc8b36851e566915d3474bf3a16a352680a1edf4512dd3152a466dece41a0b9daffff669cb04d2dcd
# 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"]