X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=packages%2Fpolicy-api-docker%2Fsrc%2Fmain%2Fdocker%2FDockerfile;h=311866f1e15e86517d1b4c272f0f4b7beca799d2;hb=c8994fd02e0db5478e7abc87e699f49006ad32f1;hp=95d2558d12e428e3502a29e1c0f50567b31411e9;hpb=8df02c884233f8842272ed69cb2c580a00d3df1d;p=policy%2Fapi.git diff --git a/packages/policy-api-docker/src/main/docker/Dockerfile b/packages/policy-api-docker/src/main/docker/Dockerfile index 95d2558d..311866f1 100644 --- a/packages/policy-api-docker/src/main/docker/Dockerfile +++ b/packages/policy-api-docker/src/main/docker/Dockerfile @@ -1,46 +1,60 @@ -FROM ubuntu:16.04 +#------------------------------------------------------------------------------- +# Dockerfile +# ============LICENSE_START======================================================= +# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright (C) 2022 Bell Canada. All rights reserved. +# Modifications Copyright (C) 2022-2023 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 busybox AS tarball +RUN mkdir /packages /extracted +COPY /maven/lib/policy-api.tar.gz /packages/ +RUN tar xvzf /packages/policy-api.tar.gz --directory /extracted/ + +FROM onap/policy-jre-alpine:3.0.3-SNAPSHOT + +LABEL maintainer="Policy Team" +LABEL org.opencontainers.image.title="Policy API" +LABEL org.opencontainers.image.description="Policy API image based on Alpine" +LABEL org.opencontainers.image.url="https://github.com/onap/policy-api" +LABEL org.opencontainers.image.vendor="ONAP Policy Team" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL org.opencontainers.image.created="${git.build.time}" +LABEL org.opencontainers.image.version="${git.build.version}" +LABEL org.opencontainers.image.revision="${git.commit.id.abbrev}" -ARG HTTP_PROXY=${HTTP_PROXY} -ARG HTTPS_PROXY=${HTTPS_PROXY} -ARG BUILD_VERSION=${BUILD_VERSION} ARG POLICY_LOGS=/var/log/onap/policy/api -ENV http_proxy $HTTP_PROXY -ENV https_proxy $HTTPS_PROXY -ENV BUILD_VERSION ${BUILD_VERSION} -ENV POLICY_LOGS ${POLICY_LOGS} - -ENV POLICY_HOME=/opt/app/policy -ENV POLICY_API_HOME=${POLICY_HOME}/api - -RUN \ - apt-get clean && \ - apt-get update && \ - apt-get install -y zip unzip curl wget ssh telnet maven && \ - apt-get install -y software-properties-common && \ - apt-get install -y jq httpie && \ - apt-get install -y python-pip && \ - add-apt-repository ppa:openjdk-r/ppa && \ - apt-get clean && \ - apt-get update && \ - apt-get install -y openjdk-8-jdk - -RUN groupadd policy -RUN useradd --create-home --shell /bin/bash -g policy policy - -RUN mkdir -p ${POLICY_API_HOME} ${POLICY_LOGS} ${POLICY_HOME}/etc/ssl ${POLICY_API_HOME}/bin && \ - chown -R policy:policy ${POLICY_HOME} ${POLICY_API_HOME} ${POLICY_LOGS} - -RUN mkdir /packages -COPY /maven/* /packages -RUN tar xvfz /packages/policy-api.tar.gz --directory ${POLICY_API_HOME} -RUN rm /packages/policy-api.tar.gz - -WORKDIR ${POLICY_API_HOME} -COPY policy-api.sh bin/. -RUN chown -R policy:policy * && chmod +x bin/*.sh -RUN cp ${POLICY_API_HOME}/etc/ssl/* ${POLICY_HOME}/etc/ssl && chown policy:policy ${POLICY_HOME}/etc/ssl/* +ENV POLICY_LOGS=$POLICY_LOGS +ENV POLICY_HOME=$POLICY_HOME/api + +USER root +RUN mkdir -p $POLICY_HOME $POLICY_LOGS && \ + chown -R policy:policy $POLICY_HOME $POLICY_LOGS + +COPY --chown=policy:policy --from=tarball /extracted/ $POLICY_HOME/ + +WORKDIR $POLICY_HOME +COPY --chown=policy:policy policy-api.sh bin/ +COPY --chown=policy:policy /maven/api.jar /app/ + +RUN chmod 755 bin/*.sh USER policy -WORKDIR ${POLICY_API_HOME}/bin -ENTRYPOINT [ "bash", "./policy-api.sh" ] +WORKDIR $POLICY_HOME/bin +ENTRYPOINT [ "./policy-api.sh" ]