From b576515cd804f5a0298f36f88b80183ba16cc3bf Mon Sep 17 00:00:00 2001 From: khemendra kumar Date: Wed, 2 Dec 2020 00:01:33 +0530 Subject: [PATCH] Added Docker file for Obj Detection srv Signed-off-by: khemendra kumar Change-Id: Ic6319f10bb86063ff1b6c8d924c87f91a2031ba2 --- .../ROBO/aPaaS/Obj_Detection_service/Dockerfile | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 example-apps/ROBO/aPaaS/Obj_Detection_service/Dockerfile diff --git a/example-apps/ROBO/aPaaS/Obj_Detection_service/Dockerfile b/example-apps/ROBO/aPaaS/Obj_Detection_service/Dockerfile new file mode 100644 index 0000000..c84560a --- /dev/null +++ b/example-apps/ROBO/aPaaS/Obj_Detection_service/Dockerfile @@ -0,0 +1,92 @@ +# +# Copyright 2020 Huawei Technologies Co., Ltd. +# +# 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. +# + +# Prepare stage for multistage image build +## START OF STAGE0 ## +FROM python:3.6-slim-stretch + +# # CREATE APP USER ## +# Set umask +RUN sed -i "s|umask 022|umask 027|g" /etc/profile + +# Create the home directory for the new app user. +RUN mkdir -p /usr/app +RUN mkdir -p /usr/app/bin +RUN mkdir -p /usr/app/detection +RUN mkdir -p /usr/app/resources + +# Set the home directory to our app user's home. +ENV APP_HOME=/usr/app +ENV UID=166 +ENV GID=166 +ENV USER_NAME=eguser +ENV GROUP_NAME=eggroup +ENV ENV="/etc/profile" + +# Create an app user so our program doesn't run as root. +RUN apt-get -y update &&\ + groupadd -r -g $GID $GROUP_NAME &&\ + useradd -r -u $UID -g $GID -d $APP_HOME -s /sbin/nologin -c "Docker image user" $USER_NAME + +RUN apt-get install -y --fix-missing \ + build-essential \ + cmake \ + gfortran \ + git \ + wget \ + curl \ + graphicsmagick \ + libgraphicsmagick1-dev \ + libatlas-dev \ + libavcodec-dev \ + libavformat-dev \ + libgtk2.0-dev \ + libjpeg-dev \ + liblapack-dev \ + libswscale-dev \ + pkg-config \ + python3-dev \ + python3-numpy \ + software-properties-common \ + zip \ + && apt-get clean && rm -rf /tmp/* /var/tmp/* + +# Set the working directory. +WORKDIR $APP_HOME + +# Copy the application & scripts +COPY config.py requirements.txt run.py $APP_HOME/ +COPY detection $APP_HOME/monitoring/ +COPY resources $APP_HOME/resources/ +COPY configs/*.sh $APP_HOME/bin + +RUN chmod 750 $APP_HOME &&\ + chmod -R 550 $APP_HOME/bin &&\ + mkdir -p -m 750 $APP_HOME/log &&\ + mkdir -p -m 700 $APP_HOME/ssl &&\ + chown -R $USER_NAME:$GROUP_NAME $APP_HOME + +# Exposed port +EXPOSE 9997 + +# Change to the app user. +USER $USER_NAME + +# Install requirements +RUN pip install -r requirements.txt + +# Execute script & application +ENTRYPOINT ["sh", "./bin/start.sh"] -- 2.16.6