Verwenden Sie Docker, um Spring Boot-Anwendungen zu containerisieren und so eine kontinuierliche Integration und kontinuierliche Bereitstellung zu erreichen.
Docker ist eine Open-Source-Containerisierungsplattform, die Anwendungen und ihre abhängigen Ressourcen in einen unabhängigen Container packen und durch Spiegelung bereitgestellt und ausgeführt werden kann . Es bietet eine leichte, schnelle und tragbare Lösung für die Erstellung und Bereitstellung moderner Anwendungen.
Spring Boot ist ein Framework für die schnelle Entwicklung, das eine einfache und skalierbare Möglichkeit zum Erstellen von Java-Anwendungen bietet. Durch die Kombination von Docker und Spring Boot können wir das Ziel erreichen, Anwendungen schnell bereitzustellen, zu skalieren und zu verwalten.
In diesem Artikel wird erläutert, wie Sie Docker zum Containerisieren von Spring Boot-Anwendungen verwenden, um kontinuierliche Integrations- und kontinuierliche Bereitstellungsprozesse zu implementieren, und entsprechende Codebeispiele bereitstellen.
Hier erstellen wir eine einfache Hello World-Anwendung wie unten gezeigt:
@Controller public class HelloWorldController { @GetMapping("/") public String hello(Model model) { model.addAttribute("message", "Hello, Docker!"); return "hello"; } public static void main(String[] args) { SpringApplication.run(HelloWorldController.class, args); } }
Dieser Code erstellt einen einfachen Spring MVC-Controller, der beim Zugriff auf die Root-Pfadinformationen ein „Hallo, Docker!“ zurückgibt.
Erstellen Sie eine Datei mit dem Namen Dockerfile im Stammverzeichnis des Projekts und fügen Sie den folgenden Inhalt hinzu:
# 使用一个基础的Java 8镜像 FROM openjdk:8-jdk-alpine # 将应用的jar包添加到容器中 COPY target/demo-0.0.1-SNAPSHOT.jar /app.jar # 暴露8080端口 EXPOSE 8080 # 运行jar包 ENTRYPOINT ["java","-jar","/app.jar"]
Das obige Dockerfile verwendet das auf Alpine Linux basierende Java 8-Image als Basisimage. Kopieren Sie dann das erstellte JAR-Paket in den Container und führen Sie die Anwendung über die ENTRYPOINT-Anweisung aus.
Der Befehl zum Erstellen des Images lautet wie folgt:
$ docker build -t spring-boot-demo .
Nachdem das Image erstellt wurde, können Sie mit dem folgenden Befehl überprüfen, ob der Build erfolgreich war:
$ docker images
Sie sollten ein Image mit dem Namen spring-boot sehen können -Demo.
Führen Sie den folgenden Befehl aus, um den Container zu starten:
$ docker run -d -p 8080:8080 spring-boot-demo
Unter diesen bedeutet der Parameter -d, dass der Container im Hintergrund ausgeführt wird, und der Parameter -p bedeutet, den 8080-Port des Hosts dem 8080-Port des Containers zuzuordnen .
Überprüfen Sie, ob der Container erfolgreich gestartet wurde. Sie können den Ausführungsstatus des Containers mit dem folgenden Befehl überprüfen:
$ docker ps
Wenn Sie sehen, dass der Container mit dem Namen spring-boot-demo ausgeführt wird, bedeutet dies, dass der Container erfolgreich gestartet wurde .
Aktualisieren Sie zunächst den Anwendungscode lokal und erstellen Sie das Image neu:
$ docker build -t spring-boot-demo .
Dann stoppen und löschen Sie den alten Container:
$ docker stop [CONTAINER_ID] $ docker rm [CONTAINER_ID]
Danach führen Sie den neuen Container erneut aus:
$ docker run -d -p 8080:8080 spring-boot-demo
Das Folgende ist ein einfaches Beispiel für die Verwendung von Jenkins:
pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean package -DskipTests' } } stage('Build Docker Image') { steps { sh 'docker build -t spring-boot-demo .' } } stage('Deploy') { steps { sh 'docker stop spring-boot-demo' sh 'docker rm spring-boot-demo' sh 'docker run -d -p 8080:8080 --name spring-boot-demo spring-boot-demo' } } } }
Dieses Skript spezifiziert den Build-Prozess und den Update-Bereitstellungsprozess der Anwendung, die entsprechend den tatsächlichen Anforderungen geändert werden können.
Durch die oben genannten Schritte können wir Docker verwenden, um Spring Boot-Anwendungen zu containerisieren und den Prozess der kontinuierlichen Integration und kontinuierlichen Bereitstellung zu realisieren. Auf diese Weise können wir die Entwicklung, Bereitstellung und Verwaltung von Anwendungen erheblich vereinfachen und die Entwicklungseffizienz und Bereitstellungsflexibilität verbessern.
Ich hoffe, dieser Artikel kann Ihnen als Referenz dienen, damit Sie die kontinuierliche Integration und kontinuierliche Bereitstellung von Docker-Container-Spring-Boot-Anwendungen verstehen und üben können. Ich wünsche Ihnen viel Erfolg in Ihrer Praxis!
Das obige ist der detaillierte Inhalt vonVerwenden Sie Docker, um Spring Boot-Anwendungen zu containerisieren und so eine kontinuierliche Integration und kontinuierliche Bereitstellung zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!