欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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