vertx-web-kotlin-dsljson-postgresql.dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # --- Build stage with JDK 25 ---
  2. FROM gradle:9.2-jdk25-corretto AS builder
  3. WORKDIR /vertx-web-kotlin-dsljson
  4. COPY src src
  5. COPY buildSrc buildSrc
  6. COPY build.gradle.kts build.gradle.kts
  7. COPY settings.gradle.kts settings.gradle.kts
  8. COPY gradle.properties gradle.properties
  9. COPY gradle/libs.versions.toml gradle/libs.versions.toml
  10. RUN gradle shadowJar --no-daemon
  11. # --- Runtime stage using Amazon Corretto 25 ---
  12. FROM amazoncorretto:25
  13. WORKDIR /app
  14. COPY --from=builder \
  15. /vertx-web-kotlin-dsljson/build/libs/vertx-web-kotlin-dsljson-benchmark-1.0.0-SNAPSHOT-fat.jar \
  16. vertx-web-kotlin-dsljson.jar
  17. EXPOSE 8080
  18. CMD java \
  19. -server \
  20. --enable-native-access=ALL-UNNAMED \
  21. --add-opens=java.base/java.lang=ALL-UNNAMED \
  22. --sun-misc-unsafe-memory-access=allow \
  23. -Xms2G \
  24. -Xmx2G \
  25. -XX:+AlwaysPreTouch \
  26. -XX:+UseParallelGC \
  27. -XX:InitialCodeCacheSize=512m \
  28. -XX:ReservedCodeCacheSize=512m \
  29. -XX:MaxInlineLevel=20 \
  30. -XX:+UseNUMA \
  31. -XX:-UseCodeCacheFlushing \
  32. -XX:AutoBoxCacheMax=10001 \
  33. -XX:+UseCompactObjectHeaders \
  34. -Djava.net.preferIPv4Stack=true \
  35. -Dvertx.disableMetrics=true \
  36. -Dvertx.disableWebsockets=true \
  37. -Dvertx.disableContextTimings=true \
  38. -Dvertx.cacheImmutableHttpResponseHeaders=true \
  39. -Dvertx.internCommonHttpRequestHeadersToLowerCase=true \
  40. -Dvertx.disableHttpHeadersValidation=true \
  41. -Dio.netty.noUnsafe=false \
  42. -Dio.netty.buffer.checkBounds=false \
  43. -Dio.netty.buffer.checkAccessible=false \
  44. -Dio.netty.leakDetection.level=disabled \
  45. -Dio.netty.iouring.ringSize=4096 \
  46. -Dio.netty.iouring.ringSize=16384 \
  47. -Dtfb.type=postgres \
  48. -jar /app/vertx-web-kotlin-dsljson.jar