36 lines
1.7 KiB
Docker
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"] |