Maison >Java >javaDidacticiel >Comment utiliser le plug-in jib pour créer une image d'application Java

Comment utiliser le plug-in jib pour créer une image d'application Java

王林
王林avant
2023-05-09 21:07:061100parcourir

Introduction

La conteneurisation du développement d'applications Java nécessite la production d'images Docker. Si l'utilisateur n'a pas installé Docker localement, il peut utiliser jib pour créer un fichier tar avec une image.

Jib propose quatre façons d'utiliser :

  • Plug-in Maven : jib-maven-plugin

  • # 🎜 🎜#
  • Plugin Gradle : jib-gradle-plugin

  • Bibliothèque Java : Jlib Core

  • #🎜 🎜 #Jib CLI
  • jib build tool contient principalement quatre fonctions puissantes.

    build : Fournit la fonction de créer une image et de la transmettre à un entrepôt distant.
  • buildTar : Fournit la fonction de créer un fichier tar contenant une image.
  • dockerBuild : Fournit la fonction de créer une image docker localement.
  • exportDocker : rContext fournit la fonction de création de fichier docker.
  • Lors de la compilation et de la construction sans environnement Docker, vous ne pouvez pas utiliser la commande build et la commande dockerBuild pour créer une image. Vous ne pouvez utiliser que la commande buildTar pour créer une image. contenant le fichier tar en miroir.

Utilisez le plug-in Maven pour créer des applications Java sous forme d'images docker

1 Modifiez le code du projet qui doit être mis en miroir : recherchez le fichier pom et déclarez le plug jib. -in,

pom.xml Le plug-in Jib est déclaré dans le fichier :

<!--使用jib插件-->
            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>1.3.0</version>
                <configuration>
                    <!--from节点用来设置镜像的基础镜像,相当于Docerkfile中的FROM关键字-->
                    <from>
                        <!--使用openjdk官方镜像,tag是8-jdk-stretch,表示镜像的操作系统是debian9,装好了jdk8-->
                        <image>openjdk:8-jdk-stretch</image>
                    </from>
                    <to>
                        <!--镜像名称和tag,使用了mvn内置变量${project.version},表示当前工程的version-->
                        <image>lendea/hellojib:${project.version}</image>
                    </to>
                    <!--容器相关的属性-->
                    <container>
                        <!--jvm内存参数-->
                        <jvmFlags>
                            <jvmFlag>-Xms256m</jvmFlag>
                            <jvmFlag>-Xmx256m</jvmFlag>
                        </jvmFlags>
                        <!--要暴露的端口-->
                        <ports>
                            <port>8081</port>
                        </ports>
                    </container>
                </configuration>
            </plugin>

    from tag : Définit l'image de base, qui équivaut à le mot-clé FROM dans le fichier docker. Il est recommandé d'utiliser l'image dans SWR et de la télécharger lors de la construction.
  • to tag : définissez le nom de l'image et la balise de l'image créée.
  • balise de conteneur : définissez les propriétés liées au conteneur, les paramètres de mémoire jvm, les ports, etc.
  • 2. Créez une tâche de build et exécutez-la
# -Dmaven.test.skip=true: 跳过单元测试
# -U: 每次构建检查以来更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能
# -e -X: 打印调试信息,定位疑难构建问题时建议使用此参数构建
# -B: 以batch模式运行,可避免日志打印出现ArrayIndexOutOfBoundsException异常

mvn compile jib:buildTar -Dmaven.test.skip=true -U -e -X -B

Dans le répertoire cible du projet Java, vous pouvez voir l'image tar générée .

3. Utilisez l'image tar

pour exécuter

et d'autres commandes pour démarrer le conteneur afin de tester la fonction.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer