X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vnfmarket-be%2Fdeployment%2Fdocker%2Fdocker-refrepo%2Fsrc%2Fmain%2Fdocker%2FDockerfile;h=7475399a0eb7b6f66ab92aa475e5d9ef317c6996;hb=refs%2Fheads%2Fmaster;hp=556bea489d456413c9dc63b1f328a0bf6aa3c4a8;hpb=1943e174063c7eab7a940e4ac167bc6556bc14ec;p=vnfsdk%2Frefrepo.git diff --git a/vnfmarket-be/deployment/docker/docker-refrepo/src/main/docker/Dockerfile b/vnfmarket-be/deployment/docker/docker-refrepo/src/main/docker/Dockerfile index 556bea48..1b3d65a3 100644 --- a/vnfmarket-be/deployment/docker/docker-refrepo/src/main/docker/Dockerfile +++ b/vnfmarket-be/deployment/docker/docker-refrepo/src/main/docker/Dockerfile @@ -1,125 +1,109 @@ +# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia # -# This file was auto-generated by gen-all-dockerfiles.sh; do not modify manually. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # # vnf-sdk-marketplace/target/Dockerfile # # 10-basebuild.txt -FROM ubuntu:16.04 -#RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections -RUN apt-get install -y -RUN apt-get update -y -RUN apt-get install wget -y - -WORKDIR /service +FROM openjdk:11-jre-slim +ARG DEBIAN_FRONTEND=noninteractive - - -ENV JAVA_VERSION_MAJOR=8 \ - JAVA_VERSION_MINOR=111 \ +ENV JAVA_VERSION_MAJOR=11 \ + JAVA_VERSION_MINOR=08 \ JAVA_HOME=/usr/lib/jvm/default-jvm \ - PATH=${PATH}:/usr/lib/jvm/default-jvm/bin/ - -RUN DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade -RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python-software-properties -RUN DEBIAN_FRONTEND=noninteractive apt-get -y install software-properties-common - -RUN add-apt-repository ppa:openjdk-r/ppa -y && \ - - # update data from repositories - apt-get update && \ - - # upgrade OS - apt-get -y dist-upgrade && \ - - # Make info file about this build - printf "Build of java:openjdk-8-jre-headless, date: %s\n" `date -u +"%Y-%m-%dT%H:%M:%SZ"` > /service/java && \ - - # install application - apt-get install -y --no-install-recommends openjdk-8-jre-headless && \ - - # fix default setting - ln -s java-8-openjdk-amd64 /usr/lib/jvm/default-jvm && \ - - # remove apt cache from image - apt-get clean all - - -# Set up tomcat -RUN wget -q http://mirrors.ocf.berkeley.edu/apache/tomcat/tomcat-8/v8.0.50/bin/apache-tomcat-8.0.50.tar.gz && tar --strip-components=1 -xf apache-tomcat-8.0.50.tar.gz && rm -f apache-tomcat-8.0.50.tar.gz && rm -rf webapps && mkdir -p webapps/ROOT -RUN echo 'export CATALINA_OPTS="$CATALINA_OPTS -Xms64m -Xmx256m -XX:MaxPermSize=64m"' > /service/bin/setenv.sh -ENV CATALINA_HOME /service - - -# Set up microservice -#ADD ./STAGE /service -#RUN apt-get install -y g++ make && curl -sL https://rpm.nodesource.com/setup_6.x | bash - -#RUN apt-get install -y nodejs -#RUN apt-get install -y npm -#RUN cd /service/webapps/onapui/vnfmarket && npm install phantomjs-prebuilt@2.1.14 --ignore-scripts && npm install - - - -RUN add-apt-repository -y ppa:nginx/stable && \ - apt-get update && \ - apt-get install -y nginx && \ - rm -rf /var/lib/apt/lists/* && \ - echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \ - chown -R www-data:www-data /var/lib/nginx - -# Define mountable directories. -VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"] - -# Define working directory. -WORKDIR /etc/nginx - -#CMD ["nginx"] - - -EXPOSE 8702 -EXPOSE 8703 - + PATH=${PATH}:/usr/lib/jvm/default-jvm/bin/ \ + CATALINA_HOME=/service + +# Install required libraries +RUN apt-get update && apt-get install -y \ + curl \ + procps \ + g++ \ + make \ + nano \ + nginx \ + sudo \ + unzip \ + wget \ + && rm -rf /var/lib/apt/lists/* \ + && sudo mkdir -p /usr/lib/jvm/default-jvm \ + && sudo ln -s /usr/local/openjdk-11/* /usr/lib/jvm/default-jvm + +# Installing Node +ENV NVM_DIR /usr/local/nvm +ENV NODE_VERSION 14.16.0 +SHELL ["/bin/bash", "--login", "-i", "-c"] +RUN mkdir -p $NVM_DIR && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | NVM_DIR=$NVM_DIR bash +RUN source /root/.bashrc && nvm install $NODE_VERSION +SHELL ["/bin/bash", "--login", "-c"] +ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules +ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH + +# Download and set up Tomcat WORKDIR /service +RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz && \ + tar --strip-components=1 -xf apache-tomcat-8.5.30.tar.gz && \ + rm -f apache-tomcat-8.5.30.tar.gz && rm -rf webapps && mkdir -p webapps/ROOT && \ + echo 'export CATALINA_OPTS="$CATALINA_OPTS -Xms64m -Xmx256m -XX:MaxPermSize=64m"' > /service/bin/setenv.sh -RUN mkdir -p /etc/nginx/ssl +# Copy artifacts +WORKDIR /service COPY nginx.conf /etc/nginx/nginx.conf COPY certgen.sh /service -RUN chmod +x /service/certgen.sh -RUN /service/certgen.sh - - - -RUN apt-get update && apt-get install nano -y -RUN apt-get install curl -y - - -#RUN apt-get install vim -y - - COPY instance-config.sh . COPY instance-init.sh . COPY instance-run.sh . COPY instance-workaround.sh . COPY docker-entrypoint.sh . +COPY install-vtp.sh . +COPY vtp-tc.sh . +COPY LICENSE ./ONAP_LICENSE +# Configure NGINX +RUN mkdir -p /etc/nginx/ssl && \ + chown -R www-data:www-data /var/lib/nginx +# Generate certificates +RUN chmod +x /service/certgen.sh && \ + /service/certgen.sh # Set up microservice ADD ./STAGE /service -RUN apt-get install -y g++ make && curl -sL https://rpm.nodesource.com/setup_6.x -RUN apt-get install -y nodejs -RUN apt-get install -y npm -RUN apt-get -qq update && apt-get -qq -y install bzip2 -RUN chmod +x /service/bin/*.sh -RUN service nginx start & -RUN cd /service/webapps/onapui/vnfmarket && npm install phantomjs-prebuilt@2.1.14 --ignore-scripts && npm install +RUN chmod +x /service/bin/*.sh && \ + cd /service/webapps/onapui/vnfmarket && \ + npm install phantomjs-prebuilt@2.1.14 --ignore-scripts && \ + npm install +# VTP setup +RUN chmod a+x /service/install-vtp.sh && \ + chmod a+x /service/vtp-tc.sh && \ + /service/install-vtp.sh -ENTRYPOINT /service/docker-entrypoint.sh -RUN chmod a+x /service/docker-entrypoint.sh -ENTRYPOINT ["/service/docker-entrypoint.sh"] +# Create group and user +RUN groupadd -r vnfadmin && useradd -m --no-log-init -r -g vnfadmin vnfadmin && \ + usermod -aG sudo vnfadmin && echo "vnfadmin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + chmod -R 777 /usr/local/ + +USER vnfadmin +# Define mountable directories. +VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"] +EXPOSE 8702 +EXPOSE 8703 +EXPOSE 50051 -COPY LICENSE ./ONAP_LICENSE +ENTRYPOINT ["/service/docker-entrypoint.sh"]