# Dockerfile for image with ONAP Portal # Multistage to be able to have SDK war content and not war itself FROM busybox:latest AS war-decompress # Arguments are supplied by build.sh script # the defaults below only support testing ARG PORTAL_WAR=build/ecompportal-be-os.war ARG FE_DIR=build/public # Just variables, never passed in ARG PORTALCONTEXT=ONAPPORTAL RUN mkdir ${PORTALCONTEXT} # Portal has many parts COPY $PORTAL_WAR ${PORTALCONTEXT} RUN cd ${PORTALCONTEXT} && unzip -q *.war && rm *.war COPY ${FE_DIR} ${PORTALCONTEXT}/public # Yields an image 823 MB FROM openjdk:8-alpine # Yields an image 1.4 GB # FROM openjdk:8-jdk # Arguments are supplied by build.sh script # the defaults below only support testing ARG PORTAL_WAR=build/ecompportal-be-os.war ARG FE_DIR=build/public ARG HTTP_PROXY ARG HTTPS_PROXY # ARG PORTAL_CERT=truststoreONAPall.jks # Just variables, never passed in ARG TOMCAT_VERSION=8.0.37 ARG TOMCAT=apache-tomcat-${TOMCAT_VERSION} ARG TOMCATTAR=${TOMCAT}.tar.gz ARG TOMCATHOME=/opt/${TOMCAT} ARG PORTALCONTEXT=ONAPPORTAL ENV http_proxy $HTTP_PROXY ENV https_proxy $HTTPS_PROXY RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \ if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi # Install Tomcat. This image already has curl. WORKDIR /tmp RUN wget -q http://archive.apache.org/dist/tomcat/tomcat-8/v${TOMCAT_VERSION}/bin/${TOMCATTAR} && \ tar -xzf ${TOMCATTAR} && \ rm ${TOMCATTAR} &&\ rm -fr ${TOMCAT}/webapps/* &&\ mkdir -p /opt &&\ mv ${TOMCAT} /opt COPY --from=war-decompress /${PORTALCONTEXT} ${TOMCATHOME}/webapps/${PORTALCONTEXT}/ VOLUME ${TOMCATHOME}/logs # 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 CMD /start-apache-tomcat.sh