TCAgen2 container CrashLoopBackOff error fix
[dcaegen2/analytics/tca-gen2.git] / dcae-analytics / dcae-analytics-tca-web / Dockerfile
index 19afab7..411b6b1 100644 (file)
@@ -3,18 +3,30 @@
 # Only changes made in docker/Dockerfile template file will be persistent
 # ==========================================================================
 
-FROM openjdk:8-jre-alpine
+FROM openjdk:11-jre-slim
 
 MAINTAINER Rajiv Singla <rs153v@att.com>
 
-VOLUME /tmp
-ADD docker/logback.xml logback.xml
-ADD target/dcae-analytics-tca-web-3.0.0-SNAPSHOT.jar dcae-analytics-tca-web.jar
-EXPOSE 9091
+ARG PROJECT_BUILD_DIR_NAME
+ARG FINAL_JAR
+ARG DEPENDENCIES_DIR
+ARG DOCKER_ARTIFACT_DIR
 
-ENTRYPOINT ["java", \
-            "-Djava.security.egd=file:/dev/./urandom", \
-            "-Dlogging.config=logback.xml", \
-            "-Dlogging.file=logs/dcae-analytics-tca-web.log", \
-            "-Dspring.profiles.active=dev", \
-            "-jar", "dcae-analytics-tca-web.jar"]
+RUN mkdir -p /var/log/ONAP/dcaegen2/analytics/tca-gen2
+#Add a new user and group to allow container to be run as non-root
+RUN groupadd tca-gen2 && useradd -g tca-gen2 tca-gen2; \
+    chmod a+rwx /opt; \
+    chmod a+rwx /var/log/ONAP/dcaegen2/analytics/tca-gen2; \
+    chown -R tca-gen2:tca-gen2 /opt; \
+    chown -R tca-gen2:tca-gen2 /var/log/ONAP/dcaegen2/analytics/tca-gen2
+
+#Copy dependencies and executable jar
+WORKDIR ${DOCKER_ARTIFACT_DIR}
+COPY ${PROJECT_BUILD_DIR_NAME}/${FINAL_JAR} .
+#Overcome Docker limitation to put ARG inside ENTRYPOINT
+RUN ln -s ${FINAL_JAR} tca-gen2.jar
+
+EXPOSE 8100
+
+USER tca-gen2:tca-gen2
+ENTRYPOINT ["java", "-Dspring.profiles.active=configBindingService,dmaap,mongo", "-jar", "tca-gen2.jar"]