Upgrade Dockerfile for Quarkus 1.11->1.13

Viewed 789

I'm trying to upgrade our Quarkus version from 1.11 to 1.13 and I can't figure out how to update my Dockerfile. Below is what I had for 1.11 and what I tried for 1.13 (unsuccessfully), with the error I get. Any help would be appreciated.

Working Dockerfile for 1.11:

COPY --from=build /opt/work/java/modules/my-service/.build/ /opt/${SERVICE}/
COPY --from=build /opt/work/java/modulesmy-service/.build/my-service*-runner.jar /opt/my-service/
...
CMD eval JAVA_OPTS=\"$JAVA_OPTS\" && java $JAVA_OPTS -jar /opt/my-service/my-service*-runner.jar

Attempted change for 1.13:

COPY --from=build /opt/work/java/modules/my-service/.build/quarkus-app/* /opt/my-service/
...
CMD eval JAVA_OPTS=\"$JAVA_OPTS\" && java $JAVA_OPTS -jar /opt/my-service/quarkus-run.jar

Error deploying:

Error: Could not find or load main class io.quarkus.bootstrap.runner.QuarkusEntryPoint
Caused by: java.lang.ClassNotFoundException: io.quarkus.bootstrap.runner.QuarkusEntryPoint
1 Answers

The change is because of the switch to the fast-jar as the default package. See this for details.

To build a docker container for the new packaging type, you essentially need to do something like:

COPY target/quarkus-app/lib/ /deployments/lib/
COPY target/quarkus-app/*.jar /deployments/
COPY target/quarkus-app/app/ /deployments/app/
COPY target/quarkus-app/quarkus/ /deployments/quarkus/

as can be seen here.

Related