把spring boot打包成docker镜像※
可以使用自带的maven插件:spring-boot:build-image
如果跨平台编译,需要在pom.xml里指定,比如要编译Linux的amd64,就需要paketobuildpacks/builder:base这个编译器
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<image>
<name>100.111.211.140:5000/eonebot-x64:latest</name>
<builder>paketobuildpacks/builder:base</builder>
<env>
<BP_JVM_VERSION>17</BP_JVM_VERSION>
</env>
</image>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>打包完会有一个项目名称的镜像
docker images推送到私有仓库※
给该镜像打个tag
docker tag appname:0.0.1-SNAPSHOT 192.168.1.12:5000/appname:0.0.1-SNAPSHOT此时镜像列表里就有了新的镜像192.168.1.12:5000/appname
有时候重新打包,需要把之前打过tag的镜像删掉,这个还没研究出来如何处理,先手动删吧,docker images找到打过tag的镜像,记下镜像id,使用docker rmi删除镜像
docker images
docker rmi c7498795d533推送镜像到私有仓库
docker push 192.168.1.12:5000/appname:0.0.1-SNAPSHOT