From: khemendra kumar Date: Wed, 2 Dec 2020 04:26:40 +0000 (+0530) Subject: Docker file for example App X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=8f08e671bdc47a1a98a290fc9284d7bb2337283b;p=ealt-edge.git Docker file for example App Signed-off-by: khemendra kumar Change-Id: I62f3d5c9b8848fca6a3fced367284bd2a2a36b75 --- diff --git a/example-apps/ROBO/retail_app/Dockerfile b/example-apps/ROBO/retail_app/Dockerfile new file mode 100644 index 0000000..c84560a --- /dev/null +++ b/example-apps/ROBO/retail_app/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"]