FROM eclipse-temurin:21-jdk WORKDIR /app EXPOSE 8080 # Source code and mvnw are mounted via docker-compose volume at runtime. # Maven dependencies are cached in a named volume (~/.m2). CMD ["./mvnw", "spring-boot:run"]