码迷,mamicode.com
首页 > 其他好文 > 详细

把聚合工程构建为docker镜像

时间:2021-05-24 02:47:57      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:依赖   子项目   pid   jdk8   指定   本地   info   技术   artifact   

1、在父工程的pom文件中统一指定jdk版本,还有springboot的版本,本例子使用jdk11,jdk8也是可以的

技术图片

技术图片

 

2、子项目(module)添加依赖:
注意 spotify 的版本要与jdk版本对应,否则构建时会报错!!!
<properties>

        <!--docker镜像仓库的前缀-->
        <docker.image.prefix>kimhank</docker.image.prefix>
    </properties>


    <build>

        <!--jar包的名称-->
        <finalName>order-service</finalName>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <fork>true</fork>
                    <addResources>true</addResources>
                </configuration>
                
                
            </plugin>

            <!--构建docker镜像的插件-->
            <plugin>
                <!--Spotify 的 docker-maven-plugin 插件是?于构建docker镜像的-->
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.10</version>
                <configuration>
                    <!--docker仓库-->
                    <repository>${docker.image.prefix}/${project.artifactId}-16</repository>

                    <buildArgs>
                        <!--jar包位置-->
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>

                </configuration>
            </plugin>

        </plugins>
    </build>
 
3、在各个module根目录下创建Dockerfile(使用jdk11构建,并且限制运行jar包的内存)
FROM adoptopenjdk/openjdk11:ubi
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar","-Xms128M","-Xmx128M"]

 

4、把整个项目上传到阿里云(可选,如果本地是linux或者Mac,则忽略)
 
 
5、把linux的jdk切换为上面第1步指定的jdk版本
vim /etc/profile

编辑环境变量。。。
source
/etc/profile

 

6、在父项目根目录下执行
mvn clean && mvn install

 

7、在各个module的根目录下执行命令(把这些module构建成镜像):

mvn install -Dmaven.test.skip=true dockerfile:build

 

大功告成了,执行 docker images  查看镜像

技术图片

 

 

 

把聚合工程构建为docker镜像

标签:依赖   子项目   pid   jdk8   指定   本地   info   技术   artifact   

原文地址:https://www.cnblogs.com/kimhank/p/14747129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!