diff options
Diffstat (limited to 'components/pm-subscription-handler/Dockerfile')
-rw-r--r-- | components/pm-subscription-handler/Dockerfile | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/components/pm-subscription-handler/Dockerfile b/components/pm-subscription-handler/Dockerfile new file mode 100644 index 00000000..e1dd16fe --- /dev/null +++ b/components/pm-subscription-handler/Dockerfile @@ -0,0 +1,55 @@ +# ============LICENSE_START=================================================== +# Copyright (C) 2019 Nordix Foundation. +# ============================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END===================================================== + +FROM python:3.7-slim-buster +MAINTAINER lego@est.tech + +ENV PMSHUSER=pmsh \ + APPDIR="/opt/app/pmsh" \ + # turn on file based EELF logging + PROD_LOGGING=1 \ + # set PATH & PYTHONPATH vars + PATH=/usr/local/lib/python3.7/bin:$PATH:$APPDIR/bin \ + PYTHONPATH=/usr/local/lib/python3.7/site-packages:./mod:./:$PYTHONPATH:$APPDIR/bin \ + REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt + +WORKDIR $APPDIR + + # add non root user & group +RUN addgroup --system $PMSHUSER && adduser --ingroup $PMSHUSER --system $PMSHUSER && \ + # create logs dir and change permissions + mkdir -p /var/log/ONAP/$PMSHUSER/logs && \ + chmod a+w /var/log/ONAP/$PMSHUSER/logs + +COPY setup.py ./ +COPY requirements.txt ./ +COPY ./pmsh_service ./bin/ + + # run the pip install +RUN pip install --upgrade pip && \ + pip install -r requirements.txt && \ + pip install -e . && \ + # change own & perms on entrypoint + chown -R $PMSHUSER:$PMSHUSER $APPDIR && \ + chmod 500 $APPDIR/bin/*.py + +# set to non root user +USER $PMSHUSER + +# run the app +ENTRYPOINT ["python", "./bin/pmsh_service.py"]
\ No newline at end of file |