外观
构建Java云原生镜像:基于Quarkus的镜像
一、准备一个Quarkus项目
可使用Quarkus CLI快速生成一个Quarkus项目,如下所示:
shell
quarkus create该命令将生成一个名为code-with-quarkus的项目,如果不想使用quarkus-cli,也可基于Quarkus脚手架或IDE插件创建项目。
进入项目根目录,编译运行:
shell
mvn compile quarkus:dev或生成jar包后运行:
shell
mvn package -Dquarkus.package.type=uber-jar
java -jar target/*.jar验证应用:
shell
curl http://localhost:8080/hello二、构建可执行文件
执行maven打包时,quarkus-maven-plugin插件可根据quarkus.package.type配置的值决定生成文件的类型,配置为uber-jar生成则可执行jar包(如前文所示),配置为native则生成原生可执行文件,如下所示:
shell
mvn package -Dquarkus.package.type=native运行可执行文件:
shell
./target/*-runner验证应用:
shell
curl http://localhost:8080/hello上述生成可执行文件的命令需要GraalVM环境,如果不想配置GraalVM,也可以使用Docker完成构建:
shell
mvn package -Dquarkus.package.type=native -Dquarkus.native.container-build=trueARM架构的MacBook电脑可能会执行失败,可暂时使用x86机器构建。
三、构建镜像
使用quarkus-maven-plugin插件的image-build执行目标构建Docker镜像:
shell
mvn quarkus:image-build该命令会生成一个Docker镜像,如:luanrz/code-with-quarkus:1.0.0-SNAPSHOT。
运行容器:
shell
docker run --rm -p 8080:8080 luanrz/code-with-quarkus:1.0.0-SNAPSHOT验证应用:
shell
curl http://localhost:8080/hello参考文档