| # Dockerfile for SDK image with ONAP Portal |
| |
| FROM tomcat:8.5.35-jre8-alpine |
| |
| # Arguments are supplied by build.sh script |
| # the defaults below only support testing |
| ARG SDK_WAR=build/epsdk-app-os.war |
| ARG HTTP_PROXY |
| ARG HTTPS_PROXY |
| |
| |
| # Just variables, never passed in |
| ARG SDKCONTEXT=ONAPPORTALSDK |
| |
| ARG TOMCAT=/usr/local/tomcat |
| ARG TOMCATHOME=${TOMCAT} |
| ARG SERVERXML=${SERVERXML} |
| |
| ENV http_proxy $HTTP_PROXY |
| ENV https_proxy $HTTPS_PROXY |
| RUN if [ -d /etc/apt ] && [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \ |
| if [ -d /etc/apt ] && [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi |
| |
| |
| # Remove manager and sample apps |
| RUN rm -rf ${TOMCAT}/webapps/[a-z]* |
| RUN mkdir -p /opt |
| COPY ${SERVERXML} ${TOMCAT}/conf |
| # TODO: ???? |
| #RUN mv ${TOMCAT} /opt |
| |
| WORKDIR ${TOMCATHOME}/webapps |
| RUN mkdir ${SDKCONTEXT} |
| |
| # Portal has many parts |
| COPY $SDK_WAR ${SDKCONTEXT} |
| RUN cd ${SDKCONTEXT} && unzip -q *.war && rm *.war |
| |
| VOLUME ${TOMCATHOME}/logs |
| |
| # Switch to unprivileged user |
| RUN addgroup -g 1000 -S portal && \ |
| adduser -u 1000 -S portal -G portal && \ |
| mkdir -p ${TOMCATHOME}/temp && \ |
| chown portal:portal ${TOMCATHOME}/temp |
| USER portal |
| |
| # Switch back to root |
| WORKDIR / |
| |
| # Define commonly used ENV variables |
| ENV PATH $PATH:$JAVA_HOME/bin:${TOMCATHOME}/bin |
| # Install the launch script |
| COPY start-apache-tomcat.sh / |
| |
| # Define default command |
| ENV TOMCATHOME=$TOMCATHOME |
| CMD /start-apache-tomcat.sh -b $TOMCATHOME |