Erfahren Sie, wie Sie mit dem Docker-Maven-Plugin die Bereitstellung automatisieren

Erfahren Sie, wie Sie mit dem Docker-Maven-Plugin die Bereitstellung automatisieren

1. Einführung in das Docker-Maven-Plugin

In 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:

Bildbeschreibung hier einfügen

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:

Bildbeschreibung hier einfügen

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:

Bildbeschreibung hier einfügen

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:
  • Das Docker-Maven-Plugin-Plugin kann das entsprechende JAR-Paket nicht abrufen
  • Zusammenfassung der Dockerfile-Maven-Plugin-Nutzungsanleitung
  • Detaillierte Verwendung des Docker-Maven-Plugins
  • Verwendung des Maven-Plugins docker-maven-plugin
  • minimalistisches Dockerfile-Maven-Plugin-Tutorial (empfohlen)

<<:  MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest

>>:  So lösen Sie das Problem der Linksausrichtung der letzten Zeile im Flex-Layout „space-between“

Artikel empfehlen

Häufige Verwendung von Hooks in React

Inhaltsverzeichnis 1. Was ist ein Hook? 2. Warum ...

Wir zeigen Ihnen einen Trick, um einen Textvergleich unter Linux durchzuführen

Vorwort Während des Schreibens des Codes werden w...

Tutorial zur binären Kompilierung und Installation von MySql centos7 unter Linux

// Ich habe einen ganzen Nachmittag für die Insta...

JS-Code zum Erzielen eines Seitenwechseleffekts

In diesem Artikelbeispiel wird der spezifische Co...

MySQL stellt Daten über Binlog wieder her

Inhaltsverzeichnis MySQL-Protokolldateien binlog ...

Eine kurze Analyse der Probleme mit JS-Originalwerten und Referenzwerten

Primitive Werte -> primitive Typen Number Stri...

So installieren Sie Docker und konfigurieren Alibaba Cloud Image Accelerator

Docker-Installation Über die Installation auf ein...

Problemlösungsvorgänge für Alpine Docker-Bildschriftarten

1. Führen Sie Schriftarten aus, öffnen Sie den Sc...

MP3- oder Flashplayer-Code auf der Webseite abspielen

Code kopieren Der Code lautet wie folgt: <Obje...

Tutorial zur Verwendung von $attrs und $listeners in Vue

Inhaltsverzeichnis einführen Beispiel Zusammenfas...

Installations- und Verwendungsschritte für vue-amap

Ich habe zuvor die Verwendung des asynchronen Lad...

Lösung für MySql-Fehler 1698 (28000)

1. Problembeschreibung: MysqlERROR1698 (28000)-Lö...