Use Alpine as base docker image
[policy/apex-pdp.git] / packages / apex-pdp-docker / src / main / docker / Dockerfile
1 #
2 # Docker file to build an image that runs APEX on Java 8 in alpine
3 #
4 FROM alpine:3.9
5
6 RUN apk add --no-cache --update bash zip unzip curl wget openssh iproute2 iputils vim openjdk8
7
8 # Create apex user and group
9 RUN addgroup -S apexuser && adduser -S apexuser -G apexuser
10
11
12 # Add Apex-specific directories and set ownership as the Apex admin user
13 RUN mkdir -p /opt/app/policy/apex-pdp
14 RUN mkdir -p /var/log/onap/policy/apex-pdp
15 RUN chown -R apexuser:apexuser /var/log/onap/policy/apex-pdp
16
17 # Unpack the tarball
18 RUN mkdir /packages
19 COPY apex-pdp-package-full.tar.gz /packages
20 RUN tar xvfz /packages/apex-pdp-package-full.tar.gz --directory /opt/app/policy/apex-pdp
21 RUN rm /packages/apex-pdp-package-full.tar.gz
22
23 # Ensure everything has the correct permissions
24 RUN find /opt/app -type d -perm 755
25 RUN find /opt/app -type f -perm 644
26 RUN chmod a+x /opt/app/policy/apex-pdp/bin/*
27
28 # Copy examples to Apex user area
29 RUN cp -pr /opt/app/policy/apex-pdp/examples /home/apexuser
30
31 RUN chown -R apexuser:apexuser /home/apexuser/*
32
33 USER apexuser
34 ENV PATH /opt/app/policy/apex-pdp/bin:$PATH
35 WORKDIR /home/apexuser