Docker file for example App 53/3953/1
authorkhemendra kumar <khemendra.kumar@huawei.com>
Wed, 2 Dec 2020 04:26:40 +0000 (09:56 +0530)
committerkhemendra kumar <khemendra.kumar@huawei.com>
Wed, 2 Dec 2020 04:26:40 +0000 (09:56 +0530)
Signed-off-by: khemendra kumar <khemendra.kumar@huawei.com>
Change-Id: I62f3d5c9b8848fca6a3fced367284bd2a2a36b75

example-apps/ROBO/retail_app/Dockerfile [new file with mode: 0644]

diff --git a/example-apps/ROBO/retail_app/Dockerfile b/example-apps/ROBO/retail_app/Dockerfile
new file mode 100644 (file)
index 0000000..c84560a
--- /dev/null
@@ -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"]