blob: b4c759fae5e2169fb4f1396c9d4354f0820aba00 [file] [log] [blame]
# 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