Fix mock tests
This commit is contained in:
67
Dockerfile
67
Dockerfile
@@ -1,52 +1,27 @@
|
||||
# Multi-stage Dockerfile for Quarkus Auction Monitor
|
||||
|
||||
# Build stage
|
||||
FROM maven:3.9-eclipse-temurin-25-alpine AS build
|
||||
|
||||
# ==================== BUILD STAGE ====================
|
||||
FROM maven:3.9-eclipse-temurin-25-alpine AS builder
|
||||
WORKDIR /app
|
||||
# Copy POM first (allows for cached dependency layer)
|
||||
COPY pom.xml .
|
||||
# This will now work if the opencv dependency has no classifier
|
||||
# -----LOCAL----
|
||||
RUN mvn dependency:resolve -B
|
||||
# -----LOCAL----
|
||||
# RUN mvn dependency:go-offline -B
|
||||
|
||||
# Copy Maven files for dependency caching
|
||||
COPY pom.xml ./
|
||||
RUN mvn dependency:go-offline -B
|
||||
|
||||
# Copy source code
|
||||
COPY src/ ./src/
|
||||
|
||||
# Build Quarkus application (fast-jar for production)
|
||||
RUN mvn package -DskipTests -Dquarkus.package.jar.type=fast-jar
|
||||
|
||||
# Runtime stage
|
||||
FROM eclipse-temurin:25-jre-alpine
|
||||
COPY src ./src
|
||||
# Updated with both properties to avoid the warning
|
||||
RUN mvn package -DskipTests -Dquarkus.package.jar.type=uber-jar -Dquarkus.package.jar.enabled=true
|
||||
|
||||
# ==================== RUNTIME STAGE ====================
|
||||
FROM eclipse-temurin:25-jre
|
||||
WORKDIR /app
|
||||
|
||||
# Create non-root user
|
||||
RUN addgroup -g 1001 quarkus && \
|
||||
adduser -u 1001 -G quarkus -s /bin/sh -D quarkus
|
||||
|
||||
# Create directories for data
|
||||
RUN mkdir -p /mnt/okcomputer/output/images && \
|
||||
chown -R quarkus:quarkus /mnt/okcomputer
|
||||
|
||||
# Copy Quarkus fast-jar structure
|
||||
COPY --from=build --chown=quarkus:quarkus /app/target/quarkus-app/lib/ /app/lib/
|
||||
COPY --from=build --chown=quarkus:quarkus /app/target/quarkus-app/*.jar /app/
|
||||
COPY --from=build --chown=quarkus:quarkus /app/target/quarkus-app/app/ /app/app/
|
||||
COPY --from=build --chown=quarkus:quarkus /app/target/quarkus-app/quarkus/ /app/quarkus/
|
||||
|
||||
# Switch to non-root user
|
||||
RUN groupadd -r quarkus && useradd -r -g quarkus quarkusa
|
||||
COPY --from=builder --chown=quarkus:quarkus /app/target/scrape-ui-*.jar app.jar
|
||||
USER quarkus
|
||||
|
||||
# Expose ports
|
||||
EXPOSE 8081
|
||||
|
||||
# Set environment variables
|
||||
ENV JAVA_OPTS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
|
||||
ENV JAVA_APP_JAR="/app/quarkus-run.jar"
|
||||
|
||||
# Health check
|
||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:8081/health/live || exit 1
|
||||
|
||||
# Run the Quarkus application
|
||||
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar $JAVA_APP_JAR"]
|
||||
ENTRYPOINT ["java", \
|
||||
"-Dio.netty.tryReflectionSetAccessible=true", \
|
||||
"--enable-native-access=ALL-UNNAMED", \
|
||||
"--sun-misc-unsafe-memory-access=allow", \
|
||||
"-jar", "app.jar"]
|
||||
Reference in New Issue
Block a user