jib 构建 Spring boot项目docker镜像

Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供。

通过 Jib,Java 开发者可以使用他们熟悉的 Java 工具来构建容器。Jib 是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤。它不需要你编写 Dockerfile 或安装 Docker,而且可以直接集成到 Maven 和 Gradle中 —— 只需要将插件添加到构建中,就可以立即将 Java 应用程序容器化。

mvn 添加构建依赖

<build>
        <plugins>
            <!--mvn build 插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--jib 构建插件-->
            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>0.9.8</version>
                <!--加了这段代码,构建命令 使用mvn package 否则 使用mvn compile jib:dockerBuild -->
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>dockerBuild</goal>
                        </goals>
                    </execution>
                </executions>
                <!--加了这段代码,构建命令 使用mvn package 否则 使用mvn compile jib:dockerBuild -->
                <configuration>
                    <!--
                    from 如果使用aliyun的registry.cn-hangzhou.aliyuncs.com进行加速,需要在mvn配置文件setting.xml添加下面配置
                    <servers>
                        <server>
                          <id>registry.cn-hangzhou.aliyuncs.com</id>
                          <username>你的阿里云账号</username>
                          <password>你的阿里云密码</password>
                        </server>
                    </servers>
                    -->
                    <from>
                        <image>openjdk:8-jre-alpine</image>
                    </from>
                    <!--构建的images 名字 和 tag(自定义)-->
                    <to>
                        <image>athzcc/${project.artifactId}:1.0.0</image>
                    </to>
                </configuration>
            </plugin>
        </plugins>
    </build>

使用此插件要先在本机安装docker,构建进入构建项目的根目录,
执行构建命令mvn compile jib:dockerBuild,
构建完成在查看docker images

image.png


运行镜像 docker run imageName:tag

image.png


推送到docker hub:
登录docker hub账号
docker login --username=你的docker hub账号 registry.hub.docker.com
输入密码登录后将镜像push到docker hub

 


docker push athzcc/spring-cloud-eureka:1.0.0
docker ps -a查看全部contain(运行和未运行)
docker rm containId 移除容器
docker rmi imagesName移除镜像
docker run -it -p8010:8010 athzcc/spring-cloud-eureka:1.0.0 指定端口号运行镜像
docker run -itd -p8010:8010 athzcc/spring-cloud-eureka:1.0.0后台运行镜像

项目地址:https://github.com/athc/spring-cloud-project/blob/master/spring-cloud-eureka/pom.xml

未完待续......



作者:Volans_
链接:https://www.jianshu.com/p/4a0b67c06787
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值