Einführung in Jib Jib ist eine von Google entwickelte Bibliothek, die Docker- und OCI-Images von Java-Anwendungen direkt erstellen kann. Sie wird in Form von Maven- und Gradle-Plug-Ins bereitgestellt. Mit Jib können Java-Entwickler zum Erstellen von Containern die ihnen vertrauten Java-Tools verwenden. Jib ist ein schnelles und einfaches Tool zum Erstellen von Container-Images, das alle erforderlichen Schritte zum Verpacken Ihrer Anwendung in ein Container-Image übernimmt. Sie müssen dafür weder eine Docker-Datei schreiben noch Docker installieren und es lässt sich direkt in Maven und Gradle integrieren – fügen Sie einfach das Plug-In zu Ihrem Build hinzu, und Sie können Ihre Java-Anwendung sofort in einen Container packen. Jib Open Source-Adresse: https://github.com/GoogleContainerTools/jib Allgemeiner Docker-Build-Prozess Jib-Build-Prozess Jib-Integration Das Projekt ist Spring Cloud, Version Hoxton.SR1. Um Jib zu integrieren, müssen Sie nur das Jib-Plugin zu POM hinzufügen. <Plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>${jib.version}</version> </plugin> Jib-bezogene Komplettkonfiguration <Eigenschaften> <!-- Jib-Docker-Konfiguration--> <!-- Jib-Version --> <jib.version>2.2.0</jib.version> <!-- Ob die Jib-Verpackung übersprungen werden soll --> <jib.skip>wahr</jib.skip> <!-- Name des Warehouse-Bildes --> <jib.repository.name>akk-system</jib.repository.name> <!-- Startklasse --> <jib.main.class>com.akk.GatewayApplication</jib.main.class> <!-- Benutzername für die Anmeldung beim Warehouse --> <REGISTRY_USERNAME>222222222222</REGISTRY_USERNAME> <!-- Lager-Login-Passwort --> <REGISTRIERUNGSPASSWORT>111111111111</REGISTRIERUNGSPASSWORT> </Eigenschaften> <Plugins> <Plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>${jib.version}</version> <Konfiguration> <überspringen>${jib.skip}</überspringen> <!-- Konfigurieren Sie das Basis-Image --> <von> <image>openjdk:8-jre-alpine</image> </von> <!-- Push-Adresse, Warehouse-Name und Spiegelname konfigurieren--> <bis> <image>registry.cn-hangzhou.aliyuncs.com/akk_java/${jib.repository.name}</image> <Tags> <!-- <tag>${jib.repository.name}</tag>--> <!-- <tag>${version}</tag>--> </tags> <Berechtigung> <Benutzername>${REGISTRY_USERNAME}</Benutzername> <Passwort>${REGISTRY_PASSWORD}</Passwort> </auth> </to> <!--Private Server sind http statt https. Standardmäßig pusht Jib nicht auf private Server, die nicht https verwenden. Private Server werden hinzugefügt, öffentliche Server jedoch nicht. --> <!-- <allowInsecureRegistries>true</allowInsecureRegistries>--> <Behälter> <Hauptklasse>${jib.main.class}</Hauptklasse> <Beschriftungen> <name>${Artefakt-Id}</name> </Beschriftungen> </container> </Konfiguration> <!--An Maven-Lebenszyklus gebunden--> <!-- <Ausführungen>--> <!-- <Ausführung>--> <!-- <phase>Paket</phase>--> <!-- <Ziele>--> <!-- <goal>bauen</goal>--> <!-- </goals>--> <!-- </execution>--> <!-- </executions>--> </plugin> </plugins> Parameterbeschreibung: An diesem Punkt können Sie den mit dem Jib-Plugin verbundenen Inhalt im Maven-Menü von idea sehen: Beispiel: Gateway-Modul (muss das Image packen), die POM-Konfiguration ist wie folgt <?xml version="1.0" encoding="UTF-8"?> <Projekt 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <übergeordnetes Element> <artifactId>akk-system</artifactId> <groupId>com.akk</groupId> <version>0.0.1-SNAPSHOT</version> </übergeordnet> <modelVersion>4.0.0</modelVersion> <artifactId>Gateway</artifactId> <Eigenschaften> <!-- Jib-Docker-Konfiguration--> <jib.version>2.2.0</jib.version> <jib.skip>falsch</jib.skip> <jib.repository.name>akk-gateway</jib.repository.name> <jib.main.class>com.akk.GatewayApplication</jib.main.class> </Eigenschaften> <Abhängigkeiten> <Abhängigkeit> <groupId>org.springframework.cloud</groupId> <artifactId>Spring-Cloud-Starter-Gateway</artifactId> </Abhängigkeit> <Abhängigkeit> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> </Abhängigkeit> </Abhängigkeiten> </Projekt> Allgemeines öffentliches Abhängigkeitspaket pom (das Image muss nicht verpackt werden): <?xml version="1.0" encoding="UTF-8"?> <Projekt 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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <übergeordnetes Element> <artifactId>akk-system</artifactId> <groupId>com.akk</groupId> <version>0.0.1-SNAPSHOT</version> </übergeordnet> <artifactId>allgemein</artifactId> <version>0.0.1-SNAPSHOT</version> <Eigenschaften> <!-- Jib-Docker-Konfiguration--> <jib.version>2.2.0</jib.version> <jib.skip>wahr</jib.skip> <jib.repository.name>akk-system</jib.repository.name> <jib.image.name>akk-system</jib.image.name> </Eigenschaften> <Abhängigkeiten> <!-- Abhängigkeitsinformationen --> </Abhängigkeiten> </Projekt> Darunter decken die Eigenschaften die relevante Parameterkonfiguration von Jib ab. Verpackungsbild Führen Sie Nachdem die Verpackung abgeschlossen ist, überprüfen Sie das lokale Docker-Image (der Befehl jib:dockerBuild lädt das Image nicht hoch, aber der Befehl jib:build lädt das Image hoch). Packen und Hochladen des Bildes Führen Sie Docker-Login --username=Benutzername --password=Passwort registry.cn-hangzhou.aliyuncs.com Ziehen Sie das Bild Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-gateway:latest Docker-Bereitstellungsprojekt Die Bereitstellung von Microservice-Projekten umfasst viele Module und erfolgt im Allgemeinen in einer verteilten Clusterumgebung. Die manuelle Bereitstellung ist daher umständlich. Sie können automatisierte Bereitstellungstools wie Jenkins verwenden. Nachdem Sie Jenkins zum Verpacken und Hochladen des Images verwendet haben, melden Sie sich beim Remote-Server an und führen Sie das Skript aus, um es zu starten. wie: #!/bin/bash # Melden Sie sich beim Docker-Repository andocker login --username=Benutzername --password=Passwort registry.cn-hangzhou.aliyuncs.com # Stoppen Sie den laufenden Container docker ps | grep akk_java | awk '{print $1}' | xargs docker stop # Löschen Sie den Container docker ps -a -q | grep akk_java | awk '{print $1}' | xargs docker rm # Image-Datei abfragen und Docker-Images löschen | grep akk_java | awk '{print $3}' | xargs docker rmi # Ziehen Sie das Image docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-user:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-gateway:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-task:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-store:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-pay:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-app-api:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-sso-auth:latest Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/akk_java/akk-seata:latest Führen Sie nach dem erneuten Abrufen des Images den Befehl Damit ist dieser Artikel über die detaillierten Schritte zur Verwendung von Jib für die Docker-Bereitstellung in Spring Cloud abgeschlossen. Weitere relevante Inhalte zur Docker-Bereitstellung in Spring Cloud finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Der gesamte Prozessdatensatz der rekursiven Komponentenkapselung von Vue3
>>: Detaillierte Erklärung der Sperrstruktur in MySQL
In tatsächlichen Entwicklungs- oder Produktionsum...
Erstellen Sie in MySQL eine Ansicht für zwei oder...
Gewünschte Wirkung: Nach dem Klick auf die Übermi...
Den Ergebnissen zufolge gibt es für die Definitio...
In diesem Artikel wird der spezifische Code für d...
Bei Datenbanken, die schon lange laufen, besteht ...
CSS spielt auf einer Webseite eine sehr wichtige ...
Der Wert der Hintergrundeigenschaft in CSS Hinter...
Textschatten-Textschatten-Eigenschaftseffekte: 1....
Hier ist ein Fall des Ziehens einer modalen Box. ...
HTML-Formulare werden verwendet, um verschiedene ...
Holen Sie sich die Anzahl der Verbindungen --- Ho...
Speichern Sie den folgenden Code als Standard-Home...
Englisch: Ein Link-Tag vervollständigt href im IE...
Dieser Artikel beschreibt, wie man OpenCV mit C++...