Es gibt zwei Möglichkeiten, Spring Boot-Projekte in Docker bereitzustellen: manuelle Bereitstellung und Plug-In-Bereitstellung Manuelle Bereitstellung1. Erstellen Sie ein Spring-Boot-Projekt mit Ideepom.xml-Datei <?xml version="1.0" encoding="UTF-8"?> <Projekt xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <übergeordnetes Element> <artifactId>Spring-Cloud-Beispiele</artifactId> <groupId>org.beispiel</groupId> <version>1.0-SNAPSHOT</version> </übergeordnet> <modelVersion>4.0.0</modelVersion> <artifactId>DockerDemo</artifactId> <Abhängigkeiten> <Abhängigkeit> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </Abhängigkeit> </Abhängigkeiten> <Bauen> <Plugins> <Plugin> <groupId>org.springframework.boot</groupId> <artifactId>Spring-Boot-Maven-Plugin</artifactId> </plugin> </plugins> </bauen> </Projekt> Startup-Klasse Paket Dockerdemo; importiere org.springframework.boot.SpringApplication; importiere org.springframework.boot.autoconfigure.SpringBootApplication; importiere org.springframework.web.bind.annotation.RequestMapping; importiere org.springframework.web.bind.annotation.RestController; @RestController @SpringBootAnwendung öffentliche Klasse Anwendung { öffentliche statische void main(String[] args) { SpringApplication.run(Anwendung.Klasse, Argumente); } @RequestMapping("/hallo") öffentliche Zeichenfolge hallo(){ returniere "Hallo Docker-Welt!"; } } 2. Verpacken Sie das Projekt in ein JarFühren Sie dann den Maven-Befehl in dem Verzeichnis aus, in dem sich die Projektdatei pom.xml befindet, um das Projekt in ein Jar-Paket zu packen. $ mvn-Paket Aus dem Ausgabeprotokoll können wir ersehen, dass sich das Jar im Zielverzeichnis befindet. Führen Sie das Jar-Paket direkt aus. $ java -jar DockerDemo-1.0-SNAPSHOT.jar Geben Sie anschließend zum Testen http://localhost:8080/hello in den Browser ein. 3. Docker-Image erstellenErstellen einer Docker-Datei VON java:8 VOLUMEN /tmp HINZUFÜGEN DockerDemo-1.0-SNAPSHOT.jar DockerDemo.jar Führen Sie den Befehl bash -c "touch /DockerDemo.jar" aus. EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/DockerDemo.jar"] Parametererklärung:
Nachdem Sie das Dockerfile erstellt haben, legen Sie das gepackte Spring Boot-Projekt-JAR-Paket und die Dockerfile-Datei in ein beliebiges Verzeichnis und verwenden Sie den Docker-Befehl, um die Image-Datei zu erstellen:
Parametererklärung:
4. Anzeigen und Ausführen des Images#Bild anzeigen: $ Docker-Bilder #Führen Sie das Image aus: $ Docker-Container ausführen --name DockerDemo -d -p 80:8080 DockerDemo:1 Parametererklärung:
Plugin-Bereitstellung Um das Plugin bereitzustellen, fügen Sie pom.xml <?xml version="1.0" encoding="UTF-8"?> <Projekt xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <übergeordnetes Element> <artifactId>Spring-Cloud-Docker</artifactId> <groupId>org.beispiel</groupId> <version>1.0-SNAPSHOT</version> </übergeordnet> <modelVersion>4.0.0</modelVersion> <artifactId>Spring-Cloud-Eureka</artifactId> <Eigenschaften> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- Bildpräfix, erforderlich beim Übertragen von Bildern in Remote-Bibliotheken. Hier wird eine private Alibaba Cloud-Bibliothek konfiguriert. --> <docker.image.präfix> registry.cn-huhehaote.aliyuncs.com/monkeybrain </docker.image.prefix> <!-- Docker-Image-Tag --> <docker.tag>neueste</docker.tag> <!-- Aktiviertes Profil --> <!--<aktivierteEigenschaften></aktivierteEigenschaften>--> </Eigenschaften> <Abhängigkeiten> <Abhängigkeit> <groupId>org.springframework.cloud</groupId> <artifactId>Spring-Cloud-Starter-Eureka-Server</artifactId> </Abhängigkeit> </Abhängigkeiten> <Profile> <!-- Docker-Umgebung --> <!--<Profil> <id>Docker</id> <Eigenschaften> <activatedProperties>Docker</activatedProperties> <docker.tag>docker-demo-${project.version}</docker.tag> </Eigenschaften> </profile>--> </profile> <Bauen> <!--Standard-Maven-Befehl--> <defaultGoal>installieren</defaultGoal> <finalName>${Projekt.ArtifactId}</finalName> <Ressourcen> <Ressource> <Verzeichnis>src/main/ressourcen</Verzeichnis> <filtering>wahr</filtering> </Ressource> </Ressourcen> <Plugins> <!-- Konfigurieren Sie das Spring Boot Maven-Plugin, um das Projekt in ein ausführbares JAR-Paket zu packen--> <Plugin> <groupId>org.springframework.boot</groupId> <artifactId>Spring-Boot-Maven-Plugin</artifactId> <Konfiguration> <ausführbar>wahr</ausführbar> </Konfiguration> </plugin> <!-- Unit-Tests beim Verpacken überspringen --> <Plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <Konfiguration> <skipTests>wahr</skipTests> </Konfiguration> </plugin> <!-- Konfigurieren Sie das Docker-Maven-Plugin, binden Sie den Installationslebenszyklus und generieren Sie ein Docker-Image, wenn Sie die Maven-Installation ausführen --> <Plugin> <groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>0.4.13</version> <!--<Ausführungen> <Ausführung> <phase>installieren</phase> <Ziele> <goal>bauen</goal> <goal>Tag</goal> </Ziele> </Ausführung> </Ausführungen>--> <Konfiguration> <!-- Um die Docker-Knoten-IP hier zu ändern, müssen Sie den Remote-Verwaltungsport 2375 des Docker-Knotens öffnen. Informationen zur spezifischen Konfiguration finden Sie im vorherigen Artikel zur Docker-Installation und -Konfiguration -> <dockerHost>http://localhost:2375</dockerHost> <imageName>${docker.image.prefix}/${project.build.finalName}</imageName> <serverId>aliyun-docker-registry</serverId> <registryUrl>registry.cn-huhehaote.aliyuncs.com</registryUrl> <pushImage>wahr</pushImage> <!--Spiegel-Tag--> <BildTags> <imageTag>neueste</imageTag> </imageTags> <!--Basisbild--> <baseImage>java:8</baseImage> <!-- Der Einstiegspunkt definiert hier den Befehl, der ausgeführt werden soll, wenn der Container gestartet wird. Wenn der Container gestartet wird, führt er java -jar Paketname--> aus. <Einstiegspunkt> ["java","-jar","/${project.build.finalName}.jar"] </Einstiegspunkt> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> <!--<image>${docker.image.prefix}/${project.build.finalName}</image> <neuerName>${docker.image.prefix}/${project.build.finalName}:${docker.tag}</neuerName> <forceTags>wahr</forceTags>--> <!-- Wenn Sie beim Generieren des Images in die Remote-Bibliothek pushen müssen, setzen Sie pushImage auf true --> <!--<pushImage>falsch</pushImage>--> </Konfiguration> </plugin> </plugins> </bauen> </Projekt> Ausführen des Push-Befehls$ mvn sauberes Paket Docker:build -DpushImage Damit ist dieser Artikel zur Prozessanalyse der Veröffentlichung und Bereitstellung von Spring Boot-Anwendungen über Docker abgeschlossen. Weitere relevante Inhalte zur Bereitstellung von Spring Boot-Anwendungen über Docker 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:
|
>>: Wie wird die Transaktionsisolation von MySQL erreicht?
Verfahren: Nehmen wir „less“ im tatsächlichen Pro...
Frage Der Code hat keine Eingabeaufforderung: Vie...
Die Kommunikationsmodi der Vue3-Komponenten sind ...
Sie können yum verwenden, um alle Abhängigkeiten ...
Warum brauchen wir virtuellen Dom? Virtual DOM wu...
1. Überwachungsarchitekturdiagramm 2. Umsetzungsi...
1. Am besten fügen Sie vor dem HTML-Tag einen Satz...
1. getElementById von IE8 unterstützt nur IDs, nic...
Lottie ist eine von Airbnb entwickelte Open-Sourc...
Inhaltsverzeichnis 1. Einstellungen für die Spezi...
Die MySQL-Fremdschlüsseleinschränkung (FOREIGN KE...
1. Zwei Arten der DMA-Zuordnung 1.1. Konsistente ...
Inhaltsverzeichnis Vorwort 1. Überprüfen Sie die ...
Mybatis Paging-Plugin pageHelper - ausführliche E...
Die vollständigen Schritte zur Konfiguration des ...