In letzter Zeit hatte ich nicht die Möglichkeit, die Quelle für die Wartung und Dokumentenerstellung von Grund auf neu zu erstellen, und ich vergesse häufig die Grundlagen.
Zu dieser Zeit habe ich mir dieses Video angesehen.
How to create Docker Image and run Java App (Spring Boot Jar) in a Docker Engine | Tech Primers(2017) https://www.youtube.com/watch?v=FlSup_eelYE
Der Inhalt des Videos ist sehr leicht zu verstehen, und ich erinnerte mich übrigens daran, dass ich es nie von Grund auf neu gemacht hatte, also führte ich Bauarbeiten für das Studium durch.
Lassen Sie die Springboot-App auf dem Docker-Container ausführen. Machen Sie es mit der Rest-API von außen zugänglich.
Erlauben Sie Docker, in einer Windows-Umgebung ausgeführt zu werden.
Kann von diesem Beamten heruntergeladen werden https://hub.docker.com/editions/community/docker-ce-desktop-windows Starten Sie [Docker Desktop Installer.exe] und befolgen Sie die Anweisungen
Beginnen Sie mit einem Neustart nach dem Installationsprogramm
Fügen Sie der Datei ~ / .docker / config.json die folgenden Proxys hinzu.
{
"credsStore": "desktop",
"stackOrchestrator": "swarm",
"credStore": "desktop",
"proxies":
{
"default":
{
"httpProxy": "http://127.0.0.1:3001",
"httpsProxy": "http://127.0.0.1:3001",
"noProxy": "*.test.example.com,.example2.com"
}
}
}
○ Erstellen Sie ein Spring-Boot-Projekt https://start.spring.io/
Rest Repository zur Abhängigkeit hinzugefügt, um RestAPI zu erstellen.
Drücken Sie nach dem Vornehmen der Einstellungen die Taste GENERATE, um die ZIP-Datei herunterzuladen.
Erstellen Sie ein Controller-Paket unter poc.dockerspringboot und erstellen Sie eine Beispieldatei
package poc.dockerspringboot.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/rest/message/helloWorldOnDocker")
public class HelloWorldOnDocker {
@GetMapping
public String hello(){
return "Hello from Docker Container";
}
}
Führen Sie eine mvn-Neuinstallation durch
Erstellen Sie eine Docker-Datei direkt unter dem Projekt
FROM adoptopenjdk:11-jre-openj9
ADD target/docker-springboot.jar docker-springboot.jar
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "docker-springboot.jar"]
Verwenden Sie in OpenJDK adoptopenjdk, das für kommerzielle Zwecke verwendet werden kann. https://hub.docker.com/_/adoptopenjdk
Fügen Sie das generierte Modul Docker hinzu. Unter target wird ein Modul erstellt. Da der Dateiname von jar jedoch lang ist, geben Sie den Ausgabenamen mit [finalName] an.
<build>
<finalName>docker-springboot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Referenz: Informationen zur Einstellung des Spring-Boot-Maven-Plugins https://spring.pleiades.io/spring-boot/docs/current/maven-plugin/reference/html/
Geben Sie den Port an, den Sie im Docker-Container öffnen möchten
Innerhalb des Containers ist der Standardport beim Start des Spring-Boot 8080 Wenn Sie diesen Wert ändern möchten, fügen Sie server.port = 8082 usw. zu application.properties hinzu
Wenn Docker gestartet wird, werden der intern gestartete Port und der nach außen geöffnete Port verknüpft.
Starten Sie das Modul mit dem Befehl jar. Durch Ausführen dieses Befehls wird der integrierte Server (Tomcat) gestartet und akzeptiert den Zugriff.
#Bilderzeugung
docker build -f Dockerfile -t docker-spring-boot .
#Bestätigung der Schöpfung
docker images
#Container-Start
docker run -p 8081:8080 docker-spring-boot
http://localhost:8081/rest/message/helloWorldOnDocker
Es gibt keine neuen technischen Entdeckungen, aber gelegentlich macht mich diese Art von Arbeit klar. Wird als Richtlinie beschrieben, damit sie später übertragen werden kann.
Recommended Posts