| FROM openjdk:11-jre-slim |
| |
| ARG PROJECT_BUILD_DIR_NAME |
| ARG FINAL_JAR |
| ARG DEPENDENCIES_DIR |
| ARG DOCKER_ARTIFACT_DIR |
| |
| #Add a new user and group to allow container to be run as non-root |
| RUN addgroup --system bbs-ep && adduser --system --ingroup bbs-ep bbs-ep |
| |
| #Copy dependencies and executable jar |
| WORKDIR ${DOCKER_ARTIFACT_DIR} |
| COPY ${PROJECT_BUILD_DIR_NAME}/${FINAL_JAR} . |
| COPY KeyStore.jks . |
| COPY KeyStorePass.txt . |
| |
| #Overcome Docker limitation to put ARG inside ENTRYPOINT |
| RUN ln -s ${FINAL_JAR} bbs-ep.jar |
| COPY ${PROJECT_BUILD_DIR_NAME}/${DEPENDENCIES_DIR} ./${DEPENDENCIES_DIR} |
| |
| EXPOSE 8100 |
| |
| USER bbs-ep:bbs-ep |
| ENTRYPOINT ["java", "-jar", "bbs-ep.jar"] |