Reduce size of docker images for PAP
[policy/pap.git] / packages / policy-pap-docker / src / main / docker / suse.Dockerfile
index d9957d1..0641ffb 100644 (file)
@@ -1,9 +1,7 @@
 #-------------------------------------------------------------------------------
 # Dockerfile
 # ============LICENSE_START=======================================================
-#  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
-#  Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
-#  Modifications Copyright (C) 2022 Nordix Foundation.
+#  Copyright (C) 2022 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # ============LICENSE_END=========================================================
 #-------------------------------------------------------------------------------
 
-FROM opensuse/leap:15.3
+FROM busybox AS tarball
+RUN mkdir /packages /extracted
+COPY /maven/lib/policy-pap.tar.gz /packages/
+RUN tar xvzf /packages/policy-pap.tar.gz --directory /extracted/
+
+FROM opensuse/leap:15.4
 
 LABEL maintainer="Policy Team"
+LABEL org.opencontainers.image.title="Policy PAP"
+LABEL org.opencontainers.image.description="Policy PAP image based on OpenSuse"
+LABEL org.opencontainers.image.url="https://github.com/onap/policy-pap"
+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 POLICY_LOGS=/var/log/onap/policy/pap
 
@@ -32,22 +43,20 @@ ENV POLICY_HOME=/opt/app/policy/pap
 ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
 ENV JAVA_HOME=/usr/lib64/jvm/java-11-openjdk-11
 
-RUN zypper -n -q install --no-recommends gzip java-11-openjdk-headless netcat-openbsd tar && \
+RUN zypper -n -q install --no-recommends java-11-openjdk-headless netcat-openbsd && \
     zypper -n -q update && zypper -n -q clean --all && \
     groupadd --system policy && \
     useradd --system --shell /bin/sh -G policy policy && \
-    mkdir -p /app $POLICY_LOGS $POLICY_HOME $POLICY_HOME/bin && \
-    chown -R policy:policy /app $POLICY_HOME $POLICY_LOGS && \
-    mkdir /packages
-COPY /maven/lib/policy-pap.tar.gz /packages
-RUN tar xvfz /packages/policy-pap.tar.gz --directory $POLICY_HOME && \
-    rm /packages/policy-pap.tar.gz
+    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 policy-pap.sh  bin/.
-COPY /maven/pap.jar /app
+COPY --chown=policy:policy policy-pap.sh bin/
+COPY --chown=policy:policy /maven/pap.jar /app/
 
-RUN chown -R policy:policy * && chmod 755 bin/*.sh && chown -R policy:policy /app
+RUN chmod 755 bin/*.sh
 
 USER policy
 WORKDIR $POLICY_HOME/bin