A Maze Generator
build docker image (50s):
docker build -f Docker/jdk.Dockerfile -t mazes:jdk .start the app:
docker run -it -ePORT=8080 -p8080:8080 mazes:jdkor run as cli:
docker run -it -eMAZES_CLI=yes mazes:jdkbuild docker image (50s):
docker build -f Docker/jre.Dockerfile -t mazes:jre .start the app:
docker run -it -ePORT=8080 -p8080:8080 mazes:jrebuild docker image (70s):
docker build -f Docker/custom-jre.Dockerfile -t mazes:custom-jre .start the app:
docker run -it -ePORT=8080 -p8080:8080 mazes:custom-jrebuild Docker Image (15s):
./mvnw compile jib:dockerBuild -Dimage=mazes:jibstart the app:
docker run -it -ePORT=8080 -p8080:8080 mazes:jibbuild prerequisites:
docker
build container image with spring-boot CNB plugin (55s):
./mvnw clean spring-boot:build-image \
-Dspring-boot.build-image.imageName=mazes:cnbalternatively, we can use the pack cli (50s):
pack build --builder=paketobuildpacks/builder:tiny -eGOOGLE_RUNTIME_VERSION=17 mazes:packstart the app:
docker run -it -ePORT=8080 -p8080:8080 mazes:cnbprerequisites for subsequent builds:
docker (started with 4 CPU & 8Gb RAM)java 22.3.1.r17-grl
build native container image with spring-boot CNB plugin (6m25s):
./mvnw clean spring-boot:build-image \
-Pnative \
-Dspring-boot.build-image.imageName=mazes:cnb-nativerun the app:
docker run -it -ePORT=8080 -p8080:8080 mazes:cnb-nativebuild AOT processed Spring Boot executable jar (6s):
./mvnw clean packagethen build with pack (6m40s):
pack build --builder paketobuildpacks/builder:tiny \
--path target/mazes-1.0-exec.jar \
--env 'BP_NATIVE_IMAGE=true' \
mazes:native-jar-cnbbuild from Dockerfile (5m15s):
docker build -f Docker/native.Dockerfile -t mazes:native .build from Dockerfile (6m20s):
docker build -f Docker/native-x.Dockerfile -t mazes:native-x .set environment variable:
export MAZES_CLI=yesbuild exe (1m50s):
./mvnw clean package -Pnativerun cli:
target/mazes
target/mazes sw 6 9