Files
deployment-portal-be/Dockerfile

36 lines
1.7 KiB
Docker

FROM navidev/spring-boot-maven:1.0 as builder
ARG ARTIFACT_VERSION=0.0.1-SNAPSHOT
RUN mkdir -p /build
WORKDIR /build
COPY pom.xml /build
RUN mvn -B dependency:resolve dependency:resolve-plugins
COPY src /build/src
COPY templates /build/src/templates
COPY scripts /build/src/scripts
COPY entrypoint.sh /build/entrypoint.sh
RUN mvn clean verify -DskipTests -Dartifact.version=${ARTIFACT_VERSION}
FROM openjdk:11.0.5-jre-slim
ARG ARTIFACT_VERSION=0.0.1-SNAPSHOT
RUN mkdir -p /usr/local
WORKDIR /usr/local/
COPY --from=builder /build/target/deployment-portal-backend-${ARTIFACT_VERSION}.jar /usr/local/deployment-portal-backend.jar
COPY --from=builder /build/src/templates /usr/local/templates
COPY --from=builder /build/src/scripts /usr/local/scripts
COPY --from=builder /build/entrypoint.sh /usr/local/entrypoint.sh
RUN apt-get update && \
apt-get install telnet curl dnsutils kafkacat -y && \
adduser --system --uid 4000 --disabled-password non-root-user && \
chown -R 4000:4000 /usr/local && chmod -R g+w /usr/local
ENV KUBECTL_VERSION=1.16.7
ADD https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl /usr/local/bin/kubectl
RUN chmod +x /usr/local/bin/kubectl && mkdir -p /home/non-root-user/.kube/
RUN chown -R non-root-user /home/non-root-user/.kube
RUN curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.7/2020-07-08/bin/linux/amd64/aws-iam-authenticator
RUN chmod +x ./aws-iam-authenticator && cp ./aws-iam-authenticator /usr/local/bin && chmod +x /usr/local/entrypoint.sh
ENTRYPOINT ["/usr/local/entrypoint.sh"]
USER 4000
CMD ["sh", "-c", "java ${JVM_OPTS} -jar /usr/local/deployment-portal-backend.jar"]