1. Einführung in das Docker-Maven-PluginIn unserem kontinuierlichen Integrationsprozess verwendet die Projektentwicklung im Allgemeinen Maven zum Kompilieren und Verpacken und anschließenden Generieren von Bildern. Indem wir die Bilder online stellen, können wir die Online-Effizienz erheblich verbessern und gleichzeitig die Kapazität schnell und dynamisch erweitern und schnell zurücksetzen, was wirklich praktisch ist. Das Plugin „Docker-Maven-Plugin“ soll uns dabei helfen, automatisch Bilder zu generieren und sie durch einfache Konfiguration in Maven-Projekten in das Lager zu übertragen. **Wirkung: Beim Kompilieren eines Projekts kann automatisch ein Docker-Image generiert und in ein Remote-Repository übertragen werden. Sie müssen es nur in der Maven-Konfigurationsdatei pom.xml** richtig konfigurieren. Beispiel 1 (automatisches Generieren eines Docker-Images während der Kompilierung):1. Maven-Konfiguration: <Plugin> <groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>1.0.0</version> <Konfiguration> <!--Beachten Sie, dass der Bildname dem regulären [a-z0-9-_.] entsprechen muss, da sonst der Build nicht erfolgreich ist--> <imageName>meinServer:v1</imageName> <!-- Das Verzeichnis der Docker-Datei ist angegeben, daher müssen Sie ein Docker-Verzeichnis unter src/main des Projekts erstellen und die Docker-Datei in seinem Verzeichnis konfigurieren--> <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory> <skipDockerBuild>falsch</skipDockerBuild> <!-- Der Inhalt der Ressourcen wird in das DockerDirectory (also in den Build-Kontext) kopiert --> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> </Konfiguration> </plugin> 2. Erstellen Sie dann im Projektverzeichnis src\main\resources\docker (dem oben konfigurierten DockerDirectory-Verzeichnis) eine Datei mit dem Namen Dockerfile und folgendem Inhalt: VON java:8 MAINTAINER blau ADD mydocker-0.0.1-SNAPSHOT.jar mydocker.jar EINSTIEGSPUNKT ["java", "-jar", "/mydocker.jar"] 3. Legen Sie Systemumgebungsvariablen fest, um den Host und den Port des Docker-Daemons anzugeben, der verbunden werden muss. Wie bereits erwähnt, ist Docker eine C/S-Architektur, das Docker-Maven-Plugin spielt die Rolle des Clients und der Server benötigt Umgebungsvariablen, um Folgendes anzugeben: 4. Führen Sie mvn clean install docker:build aus. Nachdem das Projekt kompiliert wurde, wird das Image automatisch erstellt. Führen Sie docker images aus, um zu prüfen, ob das Image vorhanden ist: Beispiel 2 (Pushen des Images ins Warehouse, basierend auf Beispiel 1):1. Öffnen Sie die Maven-Konfigurationsdatei setting.xml und fügen Sie die Warehouse-Kontoinformationen hinzu: <Server> <Server> <id>Docker-Hub</id> <Benutzername>blueiii</Benutzername> <Passwort>xxxx</Passwort> <Konfiguration> <E-Mail>[email protected]</E-Mail> </Konfiguration> </server> </server> 2. Ändern Sie die Datei pom.xml. Der Bildname muss mit dem Warehouse-Pfad übereinstimmen: <imageName>blueiii/mydocker:v1</imageName> 3. Ändern Sie die Datei pom.xml und fügen Sie die folgende Konfiguration hinzu <pushImage>wahr</pushImage> <serverId>Docker-Hub</serverId> <registryUrl>https://hub.docker.com/</registryUrl> 4. Führen Sie außerdem mvn clean install docker:build aus, um das Image automatisch zu erstellen und es auf Docker Hub hochzuladen: Dies ist das Ende dieses Artikels über die Verwendung des Docker-Maven-Plugins zur Automatisierung der Bereitstellung. Weitere Informationen zur automatisierten Bereitstellung des Docker-Maven-Plugins finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest
>>: So lösen Sie das Problem der Linksausrichtung der letzten Zeile im Flex-Layout „space-between“
Hier präsentiert 123WORDPRESS.COM den ersten Teil...
Verschlüsselung und Entschlüsselung sind wichtige...
Manchmal erstellen wir einen Dateiserver über ngi...
Problembeschreibung Bei Verwendung von Windows Se...
Die in MySQL unterstützten Gleitkommatypen sind F...
Heute habe ich bei der Arbeit an PHP herausgefund...
Inhaltsverzeichnis Problembeschreibung Prinzipana...
Überblick Dieser Artikel ist ein Skript zum autom...
Verwenden Sie OSS, um Bilder oder Anhänge in ein ...
1. Versionsinformationen # Katze /etc/system-rele...
Manchmal müssen wir einige Befehle auf einem Remo...
Als ich heute Nginx verwendete, trat ein 500-Fehl...
Inhaltsverzeichnis 1. V8-Quelle 2. V8-Serviceziel...
<br />Beim Textdesign konzentrieren wir uns ...
Vor Kurzem musste ich die Zoom-Videokonferenz tes...