首页 > 其他 > 详细

把聚合工程构建为docker镜像

时间:2021-05-09 11:13:23      阅读:29      评论:0      收藏:0      [点我收藏+]

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镜像

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!