google jib
构建容器化应用程序需要大量配置。 如果您正在构建Java应用程序并计划使用Docker,则可能需要考虑Jib 。 Jib是Maven和Gradle的开源插件。 它使用构建信息来构建Docker映像,而无需Dockerfile和Docker守护程序。 在本文中,我们将使用Jib Maven配置构建一个简单的Spring Boot应用程序,以了解Jib的实际应用。 Jib的pom.xml配置在下面给出。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath />
<!-- lookup parent from repository -->
</parent>
<groupId>org.smarttechie</groupId>
<artifactId>jib-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>jib-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- The below configuration is for Jib -->
<build>
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.1.0</version>
<configuration>
<to>
<!-- I configured Docker Image to be pushed to DockerHub -->
<image>2013techsmarts/jib-demo</image>
</to>
<auth>
<!-- Used simple Auth mechanism to authorize DockerHub Push -->
<username>xxxxxxxxx</username>
<password>xxxxxxxxx</password>
</auth>
</configuration>
</plugin>
</plugins>
</build>
</project>
完成上述更改后,使用以下Maven命令构建映像并将该映像推送到DockerHub。 如果您遇到DockerHub的任何身份验证问题,请参阅https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#authentication-methods
mvn compile jib:build
现在,拉出我们使用上述命令创建的图像以运行它。
docker image pull 2013techsmarts/jib-demo
docker run -p 8080:8080 2013techsmarts/jib-demo
而已。 创建Docker映像不需要其他技能。
翻译自: https://www.javacodegeeks.com/2020/03/jib-containerize-your-java-application.html
google jib