Wie downloade ich Maven-Projekt? und wie viele Möglichkeiten, es zu erreichen?
Ich bin neu in Docker, und nicht wissen, wie man ein java-Projekt mit maven obwohl ich habe gelesen, dass viele Dokumente und versucht, viele Methoden.
- Sollte Baue ich das Bild mit
Dockerfile
? - , Was die Befehle wie, wenn es zum ausführen des maven-Projekt in dem host mit
Dockerfile
?
InformationsquelleAutor der Frage Yashon Lin | 2015-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, mit den neuen offiziellen Bilder, es gibt eine für Maven
https://registry.hub.docker.com/_/maven/
Das Bild kann verwendet werden, zum ausführen von Maven bei der Erstellung zum erstellen einer kompilierten Anwendung oder, wie in den folgenden Beispielen, einen Maven-build-in einem container.
Beispiel 1 - Maven-Ausführung in einem container
Dem folgenden Befehl wird Ihre Maven-build-in einem container:
Hinweise:
Beispiel 2 - Verwendung Nexus cache-Dateien
Führen Sie den Nexus-container
Erstellen "settings.xml" Datei:
Nun führen Sie Maven mit Verlinkung zu den nexus-container, so dass Abhängigkeiten zwischengespeichert werden
Hinweise:
Update (2018-04-06)
"--Link" - option im Andockfenster wurde als veraltet markiert. Nutzen Docker ' s native DNS Sie können führen Sie das obige Beispiel wie folgt
InformationsquelleAutor der Antwort Mark O'Connor
Möglicherweise gibt es viele Möglichkeiten.. Aber ich umgesetzt, indem Sie die folgenden zwei Möglichkeiten
Gegebene Beispiel ist der maven-Projekt.
1. Mit Dockerfile in maven-Projekt
Verwenden Sie die folgende Datei-Struktur:
Und aktualisieren Sie die Dockerfile:
Navigieren Sie zu dem Projekt-Ordner und geben Sie folgenden Befehl ein, Sie werden ab
Datei image erstellen und ausführen, Bild:
Sie das video auf Spring Boot mit Docker
2. Mithilfe von Maven-plugins
Beurteilung gegeben maven-plugin in
pom.xml
Navigieren Sie zu dem Projekt-Ordner und geben Sie folgenden Befehl können Sie zum erstellen von Bild-und ausführen, Bild:
Im ersten Beispiel erstellen wir Dockerfile und Bereitstellung von Basis-image und hinzufügen von jar ein so nach tun, dass wir Andockfenster Befehl zum erstellen eines Bildes mit bestimmten Namen und führen Sie dann das Bild..
In der Erwägung, dass im zweiten Beispiel verwenden wir maven-plugin, in dem wir die Bereitstellung von
baseImage
undimageName
so brauchen wir nicht zu erstellen Dockerfile hier.. nach packaging maven-Projekt bekommen wir das docker-image, und wir brauchen nur zu laufen, dass Bild..InformationsquelleAutor der Antwort Riddhi Gohil
Als Faustregel gilt, sollten Sie bauen ein Fett JAR mit Maven (ein GLAS enthält Ihren code und alle Abhängigkeiten).
Dann schreiben Sie bitte eine Dockerfile, die Ihren Anforderungen entspricht (wenn Sie können bauen eine fat-JAR müssten Sie nur ein Basis-Betriebssystem, wie CentOS, und die JVM).
Dies ist, was ich für ein Scala-app (Java-basiert).
Dies schafft eine CentOS-basierte Bild mit Java7.
Wenn gestartet, wird es führen Sie Ihre app jar.
Der beste Weg, um bereitstellen, ist es über die Docker-Registrierung, es ist wie ein Github für Docker-images.
Können Sie bauen ein Bild wie dieses:
Können Sie dann schieben Sie ein Bild in dieser Art:
Einmal das Bild auf der Docker-Registry, können Sie ziehen Sie es von überall in der Welt und führen Sie es.
Sehen Andockfenster Bedienungsanleitung für weitere Informationen.
Etwas im Auge zu behalten:
Könnten Sie auch ziehen Sie Ihre repository in ein Bild und bauen Sie das Glas als Teil der container-Ausführung, aber es ist nicht ein guter Ansatz, wie der code könnte sich ändern, und Sie könnten am Ende mit einer anderen version der app ohne Vorherige Ankündigung.
Aufbau einer fat-jar behebt dieses Problem.
InformationsquelleAutor der Antwort Matteo Pacini