springboot~maven集成开发里的docker构建
程序员文章站
2022-05-29 10:20:25
统一设计 maven很好的把项目整合在一起,在部署时,每个项目可以有自己的Dockerfile,在构建后把对应的jar包复制到Dockerfile的同级目录,使用使用统一的打包镜像和容器启动方法去执行就可以了。 需要大maven根项目添加插件 Dockerfile的统一内容 在src/main/do ......
统一设计
maven很好的把项目整合在一起,在部署时,每个项目可以有自己的dockerfile,在构建后把对应的jar包复制到dockerfile的同级目录,使用使用统一的打包镜像和容器启动方法去执行就可以了。
需要大maven根项目添加插件
<build> <plugins> <plugin> <artifactid>maven-antrun-plugin</artifactid> <executions> <execution> <id>copy</id> <phase>package</phase> <configuration> <tasks> <!-- 把jar包复制到/src/main/docker文件夹 --> <copy todir="${project.basedir}/src/main/docker"> <fileset dir="${project.build.directory}"> <include name="${project.artifactid}-${project.version}.jar"/> </fileset> </copy> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> <!--加入下面两项配置,把依赖包打到jar里--> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includesystemscope>true</includesystemscope> </configuration> </plugin> </plugins> </build>
dockerfile的统一内容
在src/main/docker目录下添加这个文件
from fabric8/java-jboss-openjdk8-jdk:1.4 copy 你的jar名称.jar /deployments/app.jar env url="http://127.0.0.1:18082/manage/status" expose 8082 18082
生成jar包
在根项目里的lifecycle->install,然后生成各个项目的jar文件,把对应的jar复制到对应的目录里
生成镜像
docker build ./src/main/docker -t maven-spring-b