Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解

Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解,第1张

SpringBoot2.4新特性之一键构建Docker镜像的过程详解

本文详细介绍了SpringBoot2.4的新特性之一Docker镜像的构建全过程。对大家都很详细,对大家的学习、培训或者工作都有一定的参考价值,一定要朋友们参考。

情况

在整个开发设计过程中,为了更好的应用Docker容器化,一般使用Maven编译器进行封装,然后形成镜像,这样可以极大的展现发布效率。另外还可以快速动态扩展,快速回滚,真的很方便。Dock-Maven-plugin软件是为了帮助我们根据Maven项目中的简单设备自动生成图片并推送消息到仓库。

spotify、fabric8

这里的关键应用是以下两种软件spotify、fabric8、…-配备了根据xml定义的Dockerfile或根据Dockerremoteapienabled初始化构建镜像的外部Dockerfile。

小猪微服务平台的所有容器化都是基于此。

<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> ...-配备根据xml定义出Dockerfile或是初始化外界Dockerfile </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> ...-配备根据xml定义出Dockerfile或是初始化外界Dockerfile </plugin>

相对软件周期时间可以是mvndocker:build&&;mvndocker:推送

三角帆

其实每次新项目公布时改动的代码量并不大,尤其是改动依赖jar的概率很小。如果使用前两种软件构建镜像,会造成每次都要构建满额,造成存储和网络带宽资源的消耗。

Jib是Google在18年7月发布的专用工具(适用于Maven和Gradle),用于在Java中构建映像。其优点是可以复用缓存文件,加快构建速度,减少传输量。

<!--配备根据xml定义出Dockerfile,实质上和外挂软件Dockerfile并无差别--> <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> </plugin> mvnjib:dockerBuild

以上三个方案的问题

在具体开发设计的整个过程中,绝大多数新的springboot项目都是构建Dockerfile,不需要完全根据XML或者插件软件Dockerfile进行改动。

上述软件必须相对于Dockerfile的定义和专业知识,对开发和设计并不友好。

没有充分的理由。SpringBoot2.3之后的罐子级技术。

解决办法

SpringBoot2.4发布了自己的docker构建专用工具,集成到了原来的spring-boot-maven-plugin中,所以只有配备了整体目标仓库和服务器的信息内容才能镜像。

以下设备,按图中发展设计的设备不配备Docker。此外,映像是根据192.168.0.10的DockerRemoteAPI构建的,并发布到192.168.0.20的映像仓库。

<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <name>192.168.0.20/pig4cloud/${project.artifactId}</name> <!--实行完build全自动push--> <publish>true</publish> </image> <!--配备构建宿主机信息内容,该设备无需配备--> <docker> <host>http://192.168.0.10:2375</host> <tlsVerify>false</tlsVerify> <publishRegistry> <username>username</username> <password>password</password> <url>192.168.0.20</url> </publishRegistry> </docker> </configuration> </plugin>

以下说明可用于自动构建和发布图像。

mvnspring-boot:build-image

其他迹象

Docker主机设备不工作

下图①配有连接点,但②错误报警主机不一致。

检查$DOCKER_HOST系统变量是否在本地可用。看了文章的源代码,发现最好加载这个自变量。

⋊>~echo$DOCKER_HOST11:07:51 tcp://172.17.0.111:2375

互联网适用

摘录一部分搭建全过程的日志,以下必须从github免费下载。相关依赖在100M左右,这整个过程大概率会不成功。建议根据代理的配置或者海外ECS的申请来处理。

::SpringBoot::(v2.4.0) [INFO]>Runningcreator [INFO][creator]Downloadingfromhttps://github.com/bell-sw/Liberica/releases/download/8u2751/bellsoft-jre8u2751-linux-amd64.tar.gz [INFO][creator]JVMKillAgent1.16.0:Contributingtolayer [INFO][creator]Downloadingfromhttps://github.com/cloudfoundry/jvmkill/releases/download/v1.16.0.RELEASE/jvmkill-1.16.0-RELEASE.so [INFO][creator]Downloadingfromhttps://repo.spring.io/release/org/springframework/cloud/spring-cloud-bindings/1.6.0/spring-cloud-bindings-1.6.0.jar [INFO][creator]Verifyingchecksum [INFO][creator]192.168.0.20/pig4cloud/demo:latest [INFO] [INFO]Successfullybuiltimage'192.168.0.20/pig4cloud/demo:latest' [INFO]>Pushingimage'192.168.0.20/pig4cloud/demo:latest'100% [INFO]>Pushedimage'192.168.0.20/pig4cloud/demo:latest' [INFO]BUILDSUCCESS

到目前为止,本文已经详细介绍了SpringBoot2.4的一个新特性,即通过键构建Docker映像。有关SpringBoot2.4建筑码头形象的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/774048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存