From a76cd3a8d6a836f16b050a0da74ae44c1ba39908 Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 12:04:04 +0800 Subject: [PATCH] deploy: exec java in container entrypoint --- Dockerfile | 2 +- .../historyapp/PortainerComposeResourceLimitsTest.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1b29b9b8..542f07e1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,4 +12,4 @@ COPY modules/apps/${APP_NAME}/target/${APP_NAME}.jar /app/app.jar EXPOSE 20100 20200 20300 20400 20500 32960 808 -ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar"] +ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar /app/app.jar"] diff --git a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java index 4d897448..3d289a11 100644 --- a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java +++ b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java @@ -47,6 +47,15 @@ class PortainerComposeResourceLimitsTest { .contains("JAVA_OPTS: ${JAVA_OPTS:---sun-misc-unsafe-memory-access=allow -XX:+UseZGC -XX:MaxRAMPercentage=75}"); } + @Test + void dockerEntrypointExecsJavaForSignalHandling() throws IOException { + String dockerfile = Files.readString(repositoryRoot().resolve("Dockerfile")); + + assertThat(dockerfile) + .contains("ENTRYPOINT [\"sh\", \"-c\", \"exec java $JAVA_OPTS -jar /app/app.jar\"]") + .doesNotContain("\"java $JAVA_OPTS -jar /app/app.jar\""); + } + @Test void gb32960ComposeExposesBothPlatformAccountsWithoutSecrets() throws IOException { String compose = Files.readString(repositoryRoot().resolve("deploy/portainer/docker-compose.yml"));