Use Alpine as base docker image in /policy/api
[policy/api.git] / packages / policy-api-docker / src / main / docker / Dockerfile
1 FROM alpine:3.9
2
3 ARG HTTP_PROXY=${HTTP_PROXY}
4 ARG HTTPS_PROXY=${HTTPS_PROXY}
5 ARG BUILD_VERSION=${BUILD_VERSION}
6 ARG POLICY_LOGS=/var/log/onap/policy/api
7
8 ENV http_proxy $HTTP_PROXY
9 ENV https_proxy $HTTPS_PROXY
10 ENV BUILD_VERSION ${BUILD_VERSION}
11 ENV POLICY_LOGS ${POLICY_LOGS}
12
13 ENV POLICY_HOME=/opt/app/policy
14 ENV POLICY_API_HOME=${POLICY_HOME}/api
15
16 RUN \
17     apk add --no-cache --update busybox-extras bash zip unzip curl wget \
18                                 openssh maven openjdk8 jq httpie py-pip
19
20 RUN addgroup -S policy && \
21     adduser -S  --shell /bin/bash -G policy policy
22
23
24 RUN mkdir -p ${POLICY_API_HOME} ${POLICY_LOGS} ${POLICY_HOME}/etc/ssl ${POLICY_API_HOME}/bin && \
25     chown  -R policy:policy ${POLICY_HOME} ${POLICY_API_HOME} ${POLICY_LOGS}
26
27 RUN mkdir /packages
28 COPY /maven/* /packages
29 RUN tar xvfz /packages/policy-api.tar.gz --directory ${POLICY_API_HOME} && \
30     rm /packages/policy-api.tar.gz
31
32 WORKDIR ${POLICY_API_HOME}
33 COPY policy-api.sh  bin/.
34 RUN chown -R policy:policy * && chmod +x bin/*.sh && \
35     cp ${POLICY_API_HOME}/etc/ssl/* ${POLICY_HOME}/etc/ssl && chown policy:policy ${POLICY_HOME}/etc/ssl/*
36
37 USER policy
38 WORKDIR ${POLICY_API_HOME}/bin
39 ENTRYPOINT [ "bash", "./policy-api.sh" ]