Docker-Bilder können über das Docker-Plug-In von Maven erstellt werden
Schneller Start
Fügen Sie das Docker -Plugin in pom.xml hinzu
<plugin> <GroupId> com.spotify </GroupId> <artifactId> Docker-maven-plugin </artifactId> <version> 0.4.13 </Version> <Configuration> </bildename> linyuantongxue/Docker-Demo: 0.0.1 </ImagesName> // Specify the Bildname, linyuantgxue). Docker-Demo ist der Bildname (entsprechend dem DockerHub-Repository-Namen), 0.0.1 ist der Labelname (äquivalent zur Versionsnummer) <BaseImage> Java </basimage> // Geben Sie das Basisbild an, äquivalent zu Richtlinie </Eintragungspunkts> ["Java", "-Jar", app.jar ". <TargetPath>/</targetPath> <Directory> $ {project.build.directory} </directory> // Geben Sie das zu kopierende Root -Verzeichnis an, $ {project.build.directory} bedeutet das Zielverzeichnis <Clyciption <Classing $ {project.build.finalname} .jar <// Inclentary. $ {project.build.finalName} .jar bezieht Führen Sie den folgenden Befehl aus, um ein Docker -Bild zu erstellen
MVN Clean Package Docker: Build
Führen Sie Docker -Bilder aus, um das gerade erstellte Bild anzuzeigen
Lesen Sie die Dockerfile -Datei
Sie müssen beim Lesen von Dockerfile -Dateien nicht BasisImage und Entrypoint angeben
<plugin> <GroupId> com.spotify </GroupId> <artifactId> Docker-maven-plugin </artifactId> <version> 0.4 <Vomagerame> linyuantongxue/Docker-Demo: 0.0.1 </imaginame> // Geben Sie den Bildnamen an. <Directory> $ {project.build.directory} </directory> // Geben Sie das zu kopierende Root -Verzeichnis an, $ {project.build.directory} bedeutet das Zielverzeichnis <Clycasce> $ {project.build.finalname} .jar <// included the Datei, die kopiert werden. JAR -Datei </ressourcen> </ressourcen> </configuration> </plugin>Binden Sie das Plugin an eine Phase, um auszuführen
Es gibt solche Bedürfnisse in vielen Szenarien. Wenn das Plug-In zum Beispiel das MVN Clean-Paket ausführt, erstellt das Plug-In das Docker-Bild automatisch. Um dies zu erreichen, müssen Sie das Ziel des Plug-in nur an eine bestimmte Phase binden.
Das Maven -Befehlsformat lautet: MVN -Phase: Ziel. Die Phase bindet die Konstruktionslebenszyklusphase des Ziels und das Ausführungsziel der Zielkonfiguration
Fügen Sie einfach die folgende Konfiguration hinzu:
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> // Execute build target in maven lifecycle package<executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </execution> </Executions> // $$$$$$$$$$$$$$$$$$$$$$$$$ 100$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ 100$$$$$$$$$$$$$$$$$$$$$$$$ustu$$$$$$$$$$$ust$ die $$$$$$$$$$$$$$$$$$ 100$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ustuppyupa$$$$$$$$$$$$$$$$$$$$$$$ustupa$$$$$$$$$$$$$$$$$$ust$ die Höhe $$$$$$$$$$$$$$$$$$$$$$$$$ 100$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ 100$$$$$$$$$$$$$$$$$$$$$$$$ustu$$$$$$$$$$$ust$ die $$$$$$$$$$$$$$$$$$ 100$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ustuppyupa$$$$$$$$$$$$$$$$$$$$$$$ustupa$$$$$$$$$$$$$$$$$$ust$ die Höhe <Abilderame> linyuantongxue/docker-Demo: 0.0.1 </imagesName> <basisImage> java </baseImage> <eintragspoint> ["java", "-jar", "app.jar"] </Eintragspunkte> <ressourcen> <ressourcen> <TonagePath>/</</Directory> {Directory> {Projectory {Projectory.build.build.directory {Directory> {Directory> {Project. <Clycess> $ {project.build.fininalName} .jar </include> </ressourcen> </ressourcen> </configuration> </plugin>Spiegel drücken
Verwenden Sie das Maven -Plugin, um Bilder in Docker Hub zu drücken
Ändern Sie die Einstellungen der Maven Global Configuration Information Dateis -Dateien.xml und konfigurieren Sie die Benutzerinformationen der Docker Hub
<Servers> <vers <id> docker-hub </id> # dockerHub Der Benutzername dieser Website muss alle darunter sein.
Ändern Sie die POM -Datei
<plugin> <gruppe> com.spotify </GroupId> <artifactId> Docker-Maven-Plugin </artifactId> <version> 0.4.13 </Version> <Configuration> </imageName> linyuantongxue/Docker-Demo: 0.0.1 </imaginame> </baseImage> java </basimage> -Demo> </basimage> <entryPoint>["java","-jar","app.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--Consistent with server.id in configuration file Einstellung.xml, verwendet, um Bilder zu drücken-> <versand> docker-hub </serverid> </configuration> </plugin>Führen Sie den folgenden Befehl aus, um die Pushimage -Kennung hinzuzufügen, um das Push -Bild anzuzeigen
MVN Clean Package Docker: Build -dpushimage
Im obigen Beispiel kann der Bildname verwendet werden, um den Bildnamen und die Bildbezeichnung anzugeben, und das Imagetags -Element kann verwendet werden, um den Bildnamen und die Beschriftung flexibler anzugeben, damit zwei Bezeichnungen für dasselbe Bild angegeben werden können.
<configuration> </bildename> linyuantongxue/docker-Demo </imagEname> <Imagetags> <Filetag> 0.0.1 </Imagetag> <Filetag> neuest
Sie können auch den Parameter dockerimagetags verwenden, um den Tag -Namen beim Erstellen des Befehls anzugeben
Die Codekopie lautet wie folgt:
MVN Clean Package: Build -dpushimagetags -Dockerimagetags = neuestes -Dockerimagetags = Ein anderer Tag
Wenn Sie wiederholt ein Bild mit demselben Tag -Namen erstellen müssen, setzen Sie Forcetags auf true
<Configuration> // ...... <forcetags> true </forcetags> </configuration>
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.