Files
tasknote/java-api/Dockerfile
T
2024-09-25 11:23:30 -03:00

33 lines
656 B
Docker

### Builder
FROM ghcr.io/graalvm/native-image:22.3.3 AS build
# Copy
WORKDIR /app
COPY pom.xml mvnw ./
COPY src ./src
COPY .mvn/ ./.mvn
# Build
RUN ./mvnw -B package -Pnative -DskipTests
### Deployer
FROM gcr.io/distroless/java-base:nonroot AS deploy
ARG PORT=8585
# Receive build number as argument, retain as environment variable
ARG BUILD_NUMBER
ENV BUILD_NUMBER=${BUILD_NUMBER}
# Copy
WORKDIR /app
COPY --from=build /app/target/java-api ./java-api
# User, port and health check
USER 1001
EXPOSE ${PORT}
HEALTHCHECK CMD timeout 10s bash -c 'true > /dev/tcp/127.0.0.1/8585'
# Startup
ENTRYPOINT ["/app/java-api", "-Dspring.profiles.active=prod"]