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.2 WORKDIR /app COPY --from=build /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"]