spring boot 2.4.0 不需要写Dockerfile,使用spring-boot-maven-plugin插件,一键构建镜像

一、前言

spring boot 2.4.0 的spring-boot-maven-plugin插件提供了一键构建镜像的功能,不需要自己写Dockerfile文件即可构建镜像,关于插件是如何实现自动构建镜像的,可以查看下面的官方文档,这里只是简单介绍如何使用此插件实现一键构建镜像。

二、使用spring-boot-maven-plugin构建镜像

maven插件有两种方式构建镜像:

1、插件与本地docker daemon通信来构建镜像

在pom.xml中添加如下插件配置:


<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <name>registry.cn-shenzhen.aliyuncs.com/仓库名称/${project.artifactId}:${project.version}</name>
            <!-- 执行完build 自动push -->
            <publish>true</publish>
            <!-- 拉取镜像的策略,可选的值:ALWAYS, NEVER, IF_NOT_PRESENT -->
            <pullPolicy>IF_NOT_PRESENT</pullPolicy>
        </image>
        <!--配置构建宿主机信息,本机不用配置-->
        <docker>
            <publishRegistry>
                <username>user</username>
                <password>secret</password>
                <url>registry.cn-shenzhen.aliyuncs.com</url>
            </publishRegistry>
        </docker>
    </configuration>
</plugin>

2、插件与远程docker daemon通信来构建镜像

需要在插件配置中添加<host>标签并填写远程docker daemon的连接地址,pom.xml的配置如下:


<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <name>registry.cn-shenzhen.aliyuncs.com/仓库名称/${project.artifactId}:${project.version}</name>
            <!-- 执行完build 自动push -->
            <publish>true</publish>
            <!-- 拉取镜像的策略,可选的值:ALWAYS, NEVER, IF_NOT_PRESENT -->
            <pullPolicy>IF_NOT_PRESENT</pullPolicy>
        </image>
        <!--配置构建宿主机信息,本机不用配置-->
        <docker>
        	<!--远程docker daemon的连接地址和端口-->
        	<host>tcp://192.168.99.100:2375</host>
        	<!--如果使用https协议需要设置为true-->
			<tlsVerify>false</tlsVerify>
            <publishRegistry>
                <username>user</username>
                <password>secret</password>
                <url>registry.cn-shenzhen.aliyuncs.com</url>
            </publishRegistry>
        </docker>
    </configuration>
</plugin>

执行如下命令开始自动构建镜像,并推送到阿里云镜像仓库,需要配置自己仓库的用户名和密码:

mvn spring-boot:build-image

开始自动构建镜像,在构建的时候需要拉取一下其他镜像来构建,如下图所示,所以需要等待一段时间才能构建成功。
在这里插入图片描述

参考文档:
官方文档:https://docs.spring.io/spring-boot/docs/2.4.0/maven-plugin/reference/htmlsingle/#build-image

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值