Docker SpringBoot3.0 实战
我们可以直接把SpringBoot应用对应的本地可执行文件构建为一个Docker镜像,这样就能跨操作系统运行了。
Buildpacks,类似Dockerfile的镜像构建技术
注意要安装docker,并启动docker
注意这种方式并不要求你机器上安装了GraalVM,会由SpringBoot插件利用/paketo-buildpacks/native-image来生成本地可执行文件,然后打入到容器中
Docker镜像名字中不能有大写字母,我们可以配置镜像的名字:
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-boot.build-image.imageName>springboot3demo</spring-boot.build-image.imageName>
</properties>
然后执行:
mvn -Pnative spring-boot:build-image
来生成Docker镜像,成功截图:
执行完之后,就能看到docker镜像了:
然后就可以运行容器了:
docker run --rm -p 8080:8080 springboot3demo
如果要传参数,可以通过-e
docker run --rm -p 8080:8080 -e methodName=test springboot3demo
不过代码中,得通过以下代码获取:
string methodName = System.getenv("methodName")
建议工作中直接使用Environment来获取参数:
![](/images/780-200-2.jpg)