Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Prerequisites

  • xxThe JobScheduler Master requires a database to be available.


Build

Dockerfile

  • Download: Dockerfile


    Code Block
    languagebash
    titleJobScheduler Master Dockerfile
    linenumberstrue
    collapsetrue
    FROM openjdk:8
    LABEL maintainer="Software- und Organisations-Service GmbH"
    
    # default user id has to match later run-time user
    ARG USER_ID=$UID
    
    # provide build arguments for release information
    ARG JS_MAJOR=1.13
    ARG JS_RELEASE=1.13.3-SNAPSHOT
    
    # add installer archive file
    COPY jobscheduler_linux-x64.${JS_RELEASE}.tar.gz /usr/local/src/
    RUN test -e /usr/local/src/jobscheduler_linux-x64.${JS_RELEASE}.tar.gz && \
        tar zxvf /usr/local/src/jobscheduler_linux-x64.${JS_RELEASE}.tar.gz -C /usr/local/src/ && \
        rm -f /usr/local/src/jobscheduler_linux-x64.${JS_RELEASE}.tar.gz && \
        ln -s /usr/local/src/jobscheduler.${JS_RELEASE} /usr/local/src/jobscheduler
    
    # for JDK < 12, /dev/random does not provide sufficient entropy, see https://kb.sos-berlin.com/x/lIM3
    RUN rm /dev/random && ln -s /dev/urandom /dev/random
    
    # copy installer response file and run installer
    COPY jobscheduler_install.xml /usr/local/src/jobscheduler/jobscheduler_install.xml
    RUN /usr/local/src/jobscheduler/setup.sh -u /usr/local/src/jobscheduler/jobscheduler_install.xml
    
    # make default user the owner of directories
    RUN groupadd --gid ${USER_ID:-1000} jobscheduler && \
        useradd --uid ${USER_ID:-1000} --gid jobscheduler --home-dir /home/jobscheduler --no-create-home --shell /bin/bash jobscheduler && \
        chown -R jobscheduler:jobscheduler /var/sos-berlin.com
    
    # copy and prepare start script
    COPY start_jobscheduler.sh /usr/local/bin/
    RUN chmod +x
    x
     /usr/local/bin/start_jobscheduler.sh
    
    # create volumes for data persistence
    VOLUME /var/sos-berlin.com/jobscheduler/testsuite/config/live
    
    # allow incoming traffic to port
    EXPOSE 40444
    
    # run-time user, can be overwritten when running the container
    USER jobscheduler
    
    CMD ["/usr/local/bin/start_jobscheduler.sh"]




  • xx

Installer Response File