


Wie kann man eine Java Spring -Boot -Anwendung mit Docker containerieren?
Erstellen Sie zuerst die Dockerfile und kopieren Sie die JAR -Datei, erstellen Sie das Bild und führen Sie den Container aus. Verwenden Sie OpenJDK: 17-Jre-Slim-Grundbild, verpacken Sie die Spring-Boot-Anwendung über den Befehl Docker Build und starten Sie den Dienst mit Docker-Lauf und greifen Sie schließlich auf die Anwendung in Localhost: 8080 zu.
Um eine Java Spring -Boot -Anwendung mit Docker zu containieren, müssen Sie Ihre App in einen leichten, tragbaren Container verpacken, der Code, Laufzeit, Bibliotheken und System -Tools enthält. Dieser Prozess beinhaltet das Erstellen einer Dockerfile, das Erstellen eines Docker -Images und das Ausführen von Container. Hier erfahren Sie, wie man es Schritt für Schritt macht.
Bereiten Sie Ihre Spring -Boot -Anwendung vor
Stellen Sie sicher, dass Ihre Spring -Boot -App erstellt und bereit ist. Die meisten Spring -Boot -Projekte verwenden Maven oder Gradle. Sie benötigen eine kompilierte JAR -Datei.
- Führen Sie das MVN Clean Package (für Maven) oder ./Gradlew Build (für Gradle) aus, um ein Glas im Ziel- oder Build/LIBS -Verzeichnis zu generieren.
- Überprüfen
Erstellen Sie eine Dockerfile
Erstellen Sie in Ihrem Projektstamm eine Datei mit dem Namen DockerFile (keine Erweiterung) mit dem folgenden Inhalt:
<font face="monospace">Von OpenJDK: 17-Jre-Slim WorkDir /App Kopieren Sie Ziel/your-app.jar app.jar 8080 entdecken Eintragspunkt ["Java", "-Jar", "App.jar"]</font>
- Aus : Verwendet ein schlankes OpenJDK 17 JRE -Bild für kleinere Größe.
- WorkDir : Legt das Arbeitsverzeichnis im Container fest.
- Kopieren : Kopiert Ihr gebaues Glas in das Bild.
- Expose : Informiert Docker, dass der Container auf Port 8080 hört.
- Eintragspunkt : Definiert den Befehl zum Ausführen der App.
Erstellen und führen Sie das Docker -Bild aus
Öffnen Sie ein Terminal in Ihrem Projektverzeichnis und rennen Sie:
<font face="monospace">Docker Build -t Spring-Boot-App.</font>
- -T Spring-Boot-App markiert das Bild mit einem Namen als einfache Referenz.
Führen Sie nach Abschluss des Builds den Container aus:
<font face="monospace">Docker Run -P 8080: 8080 Spring-Boot-App-App</font>
- -P 8080: 8080 Maps Host Port 8080 bis Container Port 8080.
Ihre Spring -Boot -App sollte jetzt unter http: // localhost: 8080 zugänglich sein.
Für die Produktion optimieren (optional)
Betrachten Sie für eine bessere Leistung und Sicherheit mehrstufige Builds:
<font face="monospace">Von Maven: 3,8-Openjdk-17 als Erbauer WorkDir /App Kopieren Sie pom.xml. Kopieren Sie src ./src Führen Sie MVN Clean Package -dskiptest aus Von OpenJDK: 17-Jre-Slim WorkDir /App Kopieren ---From = builder /app/target/your-app.jar app.jar 8080 entdecken Eintragspunkt ["Java", "-Jar", "App.jar"]</font>
- Dies vermeidet es, das Glas vor Ort zu bauen.
- Das endgültige Bild enthält nur JRE und JAR, wodurch die Angriffsfläche und die Größe und Größe reduziert werden.
Verpacken Sie einfach Ihre App, schreiben Sie eine Dockerfile, erstellen Sie das Bild und führen Sie es aus. Mit einem ordnungsgemäßen Setup macht Docker die Bereitstellung von Spring -Boot -Apps konsistent und skalierbar.
Das obige ist der detaillierte Inhalt vonWie kann man eine Java Spring -Boot -Anwendung mit Docker containerieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CheckContainerLogSusingDockerLogs [container_id], um startuperRorslikemissingFileSordePendencyFailures zu identifizieren

UsedockertorunpostgresqlwitloutLocalInstallationBystartingAcontainerwithTheofficialImage, SettingPassword, Portal und VolumeForpersistence.2

Erstellen Sie zuerst die Dockerfile und kopieren Sie die JAR -Datei, erstellen Sie das Bild und führen Sie den Container aus. Verwenden Sie OpenJDK: 17-Jre-Slim-Basisbild, Paket Springboot-Anwendung über den Befehl dockerbuild und starten Sie den Dienst dann mit Dockerrun und greifen Sie schließlich auf die Anwendung in Localhost: 8080 zu.

UsedockerBuilderPrunetoclearUnusedBuildCachelayersandfreedikspace;

DockernetWorkingenableScureandefficienceContainercommunication. Usebridge, Host, Overlay, MacVlan, OrnonedriversBasedonusecases; CreatecustomnetWorksforbetterIsolation und dnose und disconnectcommands;

UseHost.docker.InternaltoconnectFromDockerContainerToHostservicesLikedatabaseSorapis; itWorksondockerDesktopandLinuxwith-Add- Host = Host.docker.internal: Host-Gateway, während anonlinuxSystemswithoutsupport, Usethehost'sbridridgeip (z. B. 172.17.0.1) OrNableHostnet

CreateAcustombridgenetworkWithockernetworkCreateMy-Network, thenRuncontainsonitusing-networkmy-networksHeyCancommunicateViacontainernernames.

TorUnareactappindocker, CreateadockerFiletodeFinethebuildAndServeProcess, CopySourceCode, InstallationDependenzen, BuildtheApp, AnduseaserverlikeserveornginxtoServestaticFiles.
