Page History
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
FROM openjdk:8-jre-alpine LABEL maintainer="Software- und Organisations-Service GmbH" # BUILD SETTINGS # provide build arguments for release information ARG JS_RELEASE ARG JS_RELEASE_MAJOR # default user id has to match later run-time user ARG JS_USER_ID=${UID:-1001} ARG JS_HTTP_PORT=${JS_HTTP_PORT:-4445} ARG JS_HTTPS_PORT=${JS_HTTPS_PORT:-4443} ARG JS_JAVA_OPTIONS=${JS_JAVA_OPTIONS} # RUN-TIME SETTINGS # JS7 JobScheduler ports and Java options ENV RUN_JS_HTTP_PORT=${RUN_JS_HTTP_PORT:-$JS_HTTP_PORT} ENV RUN_JS_HTTPS_PORT=${RUN_JS_HTTPS_PORT} ENV RUN_JS_JAVA_OPTIONS=${RUN_JS_JAVA_OPTIONS:-$JS_JAVA_OPTIONS} # PREPARATION # install process tools, net tools, bash, vi RUN apt-getapk update && \ apk add --no-cache \ apt-get install -y procps && \ apt-get install -y net-tools && \ apt-get install -y bash && \ apt-get install -y vim-tiny # setup working directory RUN mkdir -p bash # setup working directory RUN mkdir -p /var/sos-berlin.com/js7 WORKDIR /var/sos-berlin.com/js7 # add/copy installation tarball # ADD https://download.sos-berlin.com/JobScheduler.${JS_RELEASE_MAJOR}/js7_agent_unix.${JS_RELEASE}.tar.gz /usr/local/src/ # COPY js7_agent_unix.${JS_RELEASE}.tar.gz /usr/local/src/ # add start script COPY start-agent.sh /usr/local/bin/ # INSTALLATION # extract tarball # for JDK < 12, /dev/random does not provide sufficient entropy, see https://kb.sos-berlin.com/x/lIM3 RUN test -e /usr/local/src/js7_agent_unix.${JS_RELEASE}.tar.gz && \ tar xfvz /usr/local/src/js7_agent_unix.${JS_RELEASE}.tar.gz -C /var/sos-berlin.com/js7 # add jobscheduler user account and make it the owner of directories RUN adduser -u ${JS_USER_ID:-1001} --disabled-password --home /home/jobscheduler --no-create-home --shell /bin/bash jobscheduler jobscheduler && \ test rm-e /usr/local/src/js7_agent_unix.${JS_RELEASE}.tar.gz && \ sedtar -i 's/securerandom.source=file:\/dev\/random/securerandom.source=file:\/dev\/urandom/g'xfvz /usr/local/src/js7_agent_unix.${JS_RELEASE}.tar.gz -C /var/sos-berlin.com/js7 && \ rm /usr/local/openjdk-8/lib/security/java.security # CONFIGURATION # copy configuration COPY config/src/js7_agent_unix.${JS_RELEASE}.tar.gz && \ chown -R jobscheduler:jobscheduler /var/sos-berlin.com/js7/agent/var_$JS_HTTP_PORT/config/ # add start script COPY && \ chmod +x /usr/local/bin/start-agent.sh /usr/local/bin/ # add jobscheduler user account and make it the owner of directories RUN groupadd --gid ${JS_USER_ID:-1001} jobscheduler && useradd --uid ${JS_USER_ID:-1001} --gid jobscheduler --home-dir /home/jobscheduler --no-create-home --shell /bin/bash jobscheduler && \ chown -R jobscheduler:jobscheduler && \ sed -i 's/securerandom.source=file:\/dev\/random/securerandom.source=file:\/dev\/urandom/g' /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/java.security # CONFIGURATION # copy default configuration # COPY config/ /var/sos-berlin.com && \ chmod +x /usr/local/bin/start-agent.sh/js7/agent/var_$JS_HTTP_PORT/config/ # CODA # run-time user, can be overwritten when running the container USER jobscheduler # allow incoming traffic to ports EXPOSE $RUN_JS_HTTP_PORT $RUN_JS_HTTPS_PORT CMD ["sh","-c","/usr/local/bin/start-agent.sh --http-port=$RUN_JS_HTTP_PORT --https-port=$RUN_JS_HTTPS_PORT --java-options=\"$RUN_JS_JAVA_OPTIONS\""] |
...
Overview
Content Tools