Erstellen Sie ein Docker-Image, das Apache Maven mit Oracle Java ausführen kann, das im Docker Store veröffentlicht wurde
Apache Maven ist ein bekanntes Tool für Projektmanagement-Tools (Build- und Konfigurationsmanagement) für Java-Projekte. Um diesen Maven verwenden zu können, müssen Sie normalerweise Java installieren, Maven installieren, den Pfad übergeben und JAVA_HOME und MAVEN_HOME festlegen. Wir haben im Voraus eine Reihe von Umgebungen wie Docker-Images vorbereitet. Auf diese Weise können Sie ein Maven-Projekt sehr viel erstellen, ohne dass Maven installiert ist.
Die hier vorbereitete Maven-Umgebung verwendet Java 8 von Oracle, das im Docker Store als Java-Laufzeit veröffentlicht wurde. Ich werde.
Unten finden Sie Informationen zur Java- und Maven-Version.
Dies ist ein Operationsimage zum Erstellen eines Projekts mit Maven in einem Docker-Container in einer Umgebung, in der Maven nicht installiert ist:
Lassen Sie das Bild in Docker Hub veröffentlichen
docker pull shinyay/docker-mvn-jdk8:3.5.0
Hängen Sie das Maven-Projekt in Ihrer Host-Umgebung in einen Docker-Container ein, verschieben Sie Ihr Arbeitsverzeichnis zum Einhängepunkt und führen Sie den Befehl Maven aus.
docker run -it --rm -v [Maven-Projektpfad in Hostumgebung]: [Einhängepunkt in Containerumgebung] -w [Einhängepunkt in Containerumgebung] shinyay / docker-mvn-jdk8: 3.5.0 mvn [ MAVEN GOAL]
docker run -it --rm -v /home/shinyay/works/mvn-projects/mvn-webapp/mytest-app:/usr/src/mvnproject -w /usr/src/mvnproject shinya/mvn:3.5.0 mvn clean
docker run -it --rm -v /home/shinyay/works/mvn-projects/mvn-webapp/mytest-app:/usr/src/mvnproject -w /usr/src/mvnproject shinya/mvn:3.5.0 mvn package
Dies ist nützlich, wenn Sie ein virtuelles Image verwenden, das Maven nicht enthält.
Die zukünftige Verbesserung besteht darin, dass das Repository nach der Ausführung von Maven nicht zwischengespeichert wird. Wenn Sie also versuchen, es erneut auszuführen, werden die abhängigen Bibliotheken erneut abgerufen. Es wäre jedoch schön, es mit dem Maven-Repository in der Host-Umgebung zu teilen.
Recommended Posts