58 lines
1.5 KiB
Docker
58 lines
1.5 KiB
Docker
ARG JAVA_VERSION=17
|
|
ARG MAVEN_VERSION=3.8.7
|
|
|
|
FROM alpine:3.16 as builder
|
|
|
|
ARG JAVA_VERSION
|
|
|
|
RUN apk --no-cache add sudo bash \
|
|
&& apk --no-cache add openjdk${JAVA_VERSION}
|
|
|
|
##########
|
|
# BUILD 1
|
|
##########
|
|
FROM builder AS build1
|
|
|
|
ARG MAVEN_VERSION
|
|
ARG JAVA_VERSION
|
|
ARG MAVEN_BASE_URL=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries
|
|
ARG USER_HOME_DIR="/root"
|
|
|
|
RUN apk --no-cache add curl tar procps
|
|
|
|
RUN mkdir -p /usr/share/maven /usr/share/maven/ref \
|
|
&& echo "Downloading maven" \
|
|
&& curl -fsSL -o /tmp/apache-maven.tar.gz ${MAVEN_BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
|
|
&& echo "Unzipping maven" \
|
|
&& tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
|
|
&& echo "Cleaning and setting links" \
|
|
&& rm -f /tmp/apache-maven.tar.gz \
|
|
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
|
|
|
|
ENV MAVEN_HOME /usr/share/maven
|
|
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
|
|
ENV JAVA_VER ${JAVA_VERSION}
|
|
ENV JAVA_HOME /usr/lib/jvm/java-${JAVA_VERSION}-openjdk
|
|
|
|
WORKDIR /app
|
|
COPY ./src ./src
|
|
COPY ./pom.xml ./pom.xml
|
|
RUN mvn -f ./pom.xml clean package
|
|
|
|
FROM builder as build2
|
|
|
|
ARG JAVA_VERSION
|
|
|
|
ENV JAVA_VER ${JAVA_VERSION}
|
|
ENV JAVA_HOME /usr/lib/jvm/java-${JAVA_VERSION}-openjdk
|
|
|
|
RUN ln -s /lib/libc.musl-aarch64.so.1 /lib/ld-linux-aarch64.so.1
|
|
|
|
WORKDIR /app
|
|
COPY --from=build1 /app/target/siren-*-All.jar /usr/local/lib/siren.jar
|
|
#COPY ./start.sh ./start.sh
|
|
#RUN chmod +x ./start.sh
|
|
|
|
ENTRYPOINT ["java", "-jar", "/usr/local/lib/siren.jar"]
|
|
#ENTRYPOINT ["/bin/sh", "-c", "./start.sh"]
|