https support for mepagent
[ealt-edge.git] / mep / mepagent / SampleApp / docker / Dockerfile
1 # Copyright 2020 Huawei Technologies Co., Ltd.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15
16 FROM alpine:latest
17
18 ## CREATE APP USER ##
19 # Create the home directory for the new app user.
20 RUN mkdir -p /usr/app
21
22 # Create an app user so our program doesn't run as root.
23 RUN apk update &&\
24     apk add shadow &&\
25     groupadd -r app &&\
26     useradd -r -g app -d /usr/app -s /sbin/nologin -c "Docker image user" app
27
28 # Set the home directory to our app user's home.
29 ENV HOME=/usr/app
30 ENV APP_HOME=/usr/app/
31
32 ## SETTING UP THE APP ##
33 WORKDIR $APP_HOME
34
35 # Copy in the application code.
36 COPY --chown=app:app . $APP_HOME
37 CMD ["./main"]
38
39 # Change to the app user.
40 USER app