1. Grundlegender Spring-Boot-Schnellstart 1.1 Schnellstart pom.xml fügt die folgenden Abhängigkeiten hinzu <übergeordnetes Element> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </übergeordnet> <Eigenschaften> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </Eigenschaften> <Abhängigkeiten> <Abhängigkeit> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </Abhängigkeit> <Abhängigkeit> <groupId>org.springframework.boot</groupId> <artifactId>Spring-Boot-Starter-Test</artifactId> <scope>Test</scope> </Abhängigkeit> </Abhängigkeiten> <Bauen> <finalName>Spring-Docker</finalName> <Plugins> <Plugin> <groupId>org.springframework.boot</groupId> <artifactId>Spring-Boot-Maven-Plugin</artifactId> </plugin> </plugins> </bauen> Spring-Boot-Startklasse @SpringBootAnwendung öffentliche Klasse DockerApplication { öffentliche statische void main(String[] args) { SpringApplication.run(DockerApplication.class, args); } } Testen der API @RestController öffentliche Klasse DockerStarterApi { @GetMapping("/api/docker/hallo") public String hallo() { gib "Hallo Docker" zurück; } } Konfigurieren Sie die Startkonfigurationsdatei Server: port: 9090 # Um den Effekt zu demonstrieren, wird hier der Standardport 8080 geändert Überprüfen Sie Spring Boot . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | | | (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|================|___/=/_/_/_/ :: Spring Boot :: (v2.0.2.RELEASE) ... 2018-12-17 17:26:13.385 INFO 48740 --- [main] osjeaAnnotationMBeanExporter: Beans für JMX-Anzeige beim Start registrieren 2018-12-17 17:26:13.448 INFO 48740 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat gestartet auf Port(s): 9090 (http) mit Kontextpfad '' 2018-12-17 17:26:13.453 INFO 48740 --- [main] pers.study.docker.DockerApplication: DockerApplication in 1,982 Sekunden gestartet (JVM läuft seit 2,602) Prüfen Sie, ob die API wirksam ist $ curl -XGET 'http://localhost:9090/api/docker/hello' hallo Docker Browser-Check 1.2 Verpackung und Inbetriebnahme Projektverpackung Führen Sie nach Abschluss der obigen Schritte den Verpackungsbefehl aus: $ mvn clean -U -Dmaven.test.skip Paket kompilieren Da <finalName>Spring-Docker</finalName> Probelauf $ java -jar target/spring-docker.jar Wenn nichts schief geht (hinterlassen Sie eine Nachricht, wenn Sie Fragen haben~), sind die Laufergebnisse dieselben wie oben und prüfen Sie, ob die API effektiv ist. 2. Docker-Schnellinstallation Als nächstes bereiten Sie Docker vor Installieren Von der offiziellen Website herunterladen und installieren Installation prüfen, Hilfe anzeigen $ docker --version Docker-Version 18.06.0-ce, Build 0ffa825 $ Docker --Hilfe Verwendung: Docker [OPTIONEN] BEFEHL Eine autarke Laufzeitumgebung für Container ... Spiegelbeschleunigung Chinas offizieller Spiegelbeschleuniger 3. Konfigurieren Sie Spring-Boot + Docker Docker-Plugin zu pom.xml hinzufügen <Eigenschaften> <docker.image.prefix>springboot</docker.image.prefix> </Eigenschaften> <Bauen> <Plugins> <!-- Docker-Maven-Plugin --> <Plugin> <groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>1.0.0</version> <Konfiguration> <imageName>${docker.image.prefix}/${project.build.finalName}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> </Konfiguration> </plugin> </plugins> </bauen> Erstellen einer Gemäß der Konfiguration der obigen Datei Die Verzeichnisstruktur ist wie folgt: Docker-Konfigurationsdateistruktur.png VON openjdk:8-jdk-alpine VOLUMEN /tmp ADD spring-docker.jar app.jar EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] FROM gibt an, dass das Bild auf Java 8 basiert VOLUME gibt das Mount-Verzeichnis an ADD kopiert die gepackte Datei und benennt sie in Laut der offiziellen Dokumentation unten ist ENTRYPOINT eine Systemeigenschaft, die hinzugefügt wird, um die Startzeit von Tomcat zu verkürzen.
4. Docker startet Spring-Boot Rufen Sie $ mvn Paket Docker:Build [INFO] Suche nach Projekten... ... ---> Wird ausgeführt in e1f8aba72bdf Zwischenbehälter entfernen e1f8aba72bdf ---> 36a61c09f09a ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null} Erfolgreich gebaut 36a61c09f09a Erfolgreich getaggt mit springboot/spring-docker:latest [INFO] Springboot/Spring-Docker erstellt [INFO] ------------------------------------------------------------------- [INFO] ERFOLG AUFBAUEN [INFO] ------------------------------------------------------------------- [INFO] Gesamtzeit: 6.367 s [INFO] Beendet am: 2018-12-17T20:48:21+08:00 [INFO] ------------------------------------------------------------------- Spiegel anzeigen $ Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE springboot/spring-docker latest 36a61c09f09a vor 2 Minuten 123 MB Ausführen des Images $ docker run -p 9090:9090 -t springboot/spring-docker . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | | | (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|================|___/=/_/_/_/ :: Spring Boot :: (v2.0.2.RELEASE) 2018-12-17 12:53:21.502 INFO 1 --- [ main] pers.study.docker.DockerApplication : Starte DockerApplication v1.0-SNAPSHOT auf 94991c04be5d mit PID 1 (/app.jar gestartet von root in /) 2018-12-17 12:53:21.509 INFO 1 --- [ main] pers.study.docker.DockerApplication : Kein aktives Profil festgelegt, Rückgriff auf Standardprofile: Standard ··· 2018-12-17 12:53:25.255 INFO 1 --- [main] osjeaAnnotationMBeanExporter: Beans für JMX-Anzeige beim Start registrieren 2018-12-17 12:53:25.337 INFO 1 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat gestartet auf Port(s): 9090 (http) mit Kontextpfad '' 2018-12-17 12:53:25.353 INFO 1 --- [ main] pers.study.docker.DockerApplication : DockerApplication in 4,485 Sekunden gestartet (JVM läuft seit 5,346) Container anzeigen $ Docker ps CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 94991c04be5d springboot/spring-docker "java -Djava.securit…" vor 53 Sekunden Vor 52 Sekunden 0.0.0.0:9090->9090/tcp quizzical_bhabha Start überprüfen und auf die API zugreifen $ curl -XGET 'http://localhost:9090/api/docker/hello' hallo Docker An diesem Punkt ist die Docker-Bereitstellung von Spring-Boot abgeschlossen. 5. Entfernen Sie das Bild Stoppen des Containers $ Docker-Stopp 94991c04be5d 94991c04be5d Löschen eines Containers $ Docker rm 94991c04be5d 94991c04be5d Löschen eines Bildes $ Docker-Image rm Springboot/Spring-Docker Ohne Tag: springboot/spring-docker:latest Gelöscht: sha256:36a61c09f09ab88cfe5a05f564deb57498682f4a6f3ec01d2a8c4fdc80ac1e41 Gelöscht: sha256:3f9aef70be6d4d43c205454d8874f10bc2f7280f70eb88cd1f04937b7965dd27 Gelöscht: sha256:9a5800e93615bb4c5128bb36d31ec494327c01f1a9a768c1ff538badf76628b9 Gelöscht: sha256:d9c66f907448fa9e61fd5f9267d7fcf8e1f4b52d0a20466414f2f45777261284 6. Weitere Konfigurationsfunktionen Hinzufügen von Umgebungseigenschaften $ docker run -e "SPRING_PROFILES_ACTIVE=prod" -p 9090:9090 -t springboot/spring-docker Wird im Hintergrund ausgeführt $ docker run -p 9090:9090 -d springboot/spring-docker Container-Debugging aktivieren und VON openjdk:8-jdk-alpine VOLUMEN /tmp ADD spring-docker.jar app.jar ENV JAVA_OPTS '' CMD java -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar app.jar Docker-Lauf Kopieren Sie den Code wie folgt: $ docker run -e "JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n" -p 9090:9090 -p 5005:5005 -t springboot/spring-docker Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Vue + node realisiert Audioaufzeichnungs- und -wiedergabefunktion
>>: Was tun, wenn Sie Ihr MySQL-Passwort vergessen?
Frage: Nach dem Neustart des Computers kann der M...
Detaillierte Beschreibung der Eigenschaften Der Z...
Ursprüngliche Adresse: http://www.webdesignfromsc...
In diesem Artikel wird der spezifische Code von V...
Inhaltsverzeichnis Definition Konstruktorkörper s...
Wie können wir sagen, dass wir 404 vermeiden soll...
In diesem Artikel wird hauptsächlich erläutert, w...
Konventionelle Lösung Verwenden Sie FileReader, u...
Inhaltsverzeichnis Übersicht (Loop-Modus – Allgem...
In diesem Artikel wird der zweite Artikel zur Ver...
Ich liebe das Programmieren, es macht mich glückl...
Vor Kurzem mussten wir eine geplante Migration de...
Inhaltsverzeichnis Hintergrund Welche Methoden gi...
1. Bereiten Sie zunächst die MySQL- und Eclipse-U...
In diesem Artikel wird das Implementierungszeugni...