Ich habe meinem Memo in letzter Zeit viele neue Dinge hinzugefügt, bin jedoch nicht an die neue Umgebung gewöhnt und habe keine Motivation, meine Notizen zu ordnen. 1. Demo-ProjektBereiten Sie zunächst ein einfaches Projekt zur Bereitstellung auf dem Docker-Host vor und überprüfen Sie, ob das Projekt erfolgreich ausgeführt wird. 1.1 SchnittstellenvorbereitungBereiten Sie eine Testschnittstelle vor, um zu überprüfen, ob die Docker-Bereitstellung erfolgreich ist @RestController @RequestMapping("/") öffentliche Klasse HelloController { @GetMapping("/hallo") öffentliche Zeichenfolge ausblenden() { returniere "Hallo Welt"; } } 1.2 KonfigurationsvorbereitungFügen Sie die Docker-Hostadresse in der Datei application.yml hinzu, um eine einheitliche Verwaltung zu ermöglichen (für diese Funktion ist die Installation abhängiger Plug-Ins erforderlich). Server: Port: 8080 Frühling: Anwendung: Name: Docker-Bereitstellungstest Docker: Host: http://xxx.xxx.xxx.xxx:2375 2. Docker öffnet Remote-VerbindungDocker ist auch eine Client/Server-Architektur (Dameon-Daemon), auf die standardmäßig nur lokal zugegriffen werden kann. Daher müssen wir sie so einrichten, dass sie vom Internet aus zugänglich ist, bevor wir das Projekt in Docker bereitstellen können. 1.1 Ändern der KonfigurationsdateiBearbeiten Sie die Konfiguration auf dem Docker-Host und fügen Sie die folgende Konfigurationszeile hinzu (was bedeutet, dass jede Adresse auf Port 2375 zugreifen kann) $vim /usr/lib/systemd/system/docker.service # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock 1.2 Konfiguration aktualisieren und neu starten$ systemctl daemon-neu laden $ systemctl Neustart Docker 1.3 Authentifizierungs-LoginÖffnen Sie Port 2357 direkt, damit jeder Dinge auf den Docker-Host pushen kann. Mir wurde zu Beginn ein Mining-Image gepusht, und der Host blieb hängen und ich konnte mich nicht anmelden. Später blieb mir nichts anderes übrig, als das System-Image neu zu installieren. Docker unterstützt die Anmeldung mit SSL-Zertifikaten. Wenn Sie sich in einer externen Netzwerkumgebung befinden, müssen Sie sich unbedingt mit SSL anmelden (der Autor hat OpenSSL-Notizen ---- zur Authentifizierung aufgezeichnet, hatte aber keine Zeit, sie zu organisieren). 3. Installieren Sie das Docker-Plugin in IDEAIn der von mir verwendeten 2019er-Version von IDEA ist das Docker-Plugin bereits standardmäßig integriert und muss nicht erneut installiert werden. Passen Sie einfach die Adresse und den Port des Remote-Hosts an, mit dem IDEA eine Verbindung herstellen soll, und überprüfen Sie abschließend, ob eine Verbindung zum Remote-Docker-Host besteht. Erstellen Sie hier einen neuen Docker, geben Sie die Hostadresse ein und es wird automatisch eine Verbindung hergestellt. Wenn die Anzeige „Verbindung erfolgreich“ angezeigt wird, bedeutet dies, dass IDEA mit dem Host verbunden ist. 4. Docker-Plugin zu Maven hinzufügenDas IDEA-Plug-In im vorherigen Schritt kann Images erstellen und bereitstellen und auch Docker verwalten. Der Autor verwendet jedoch das Maven-Plugin und das IDEA-Plugin zusammen, was die Programmkonstruktion und -bereitstellung erleichtern kann <!-- Docker-Plugin --> <Plugin> <groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>1.0.0</version> <!-- Docker:Build an Maven-Paket-Lebenszyklus binden --> <Hinrichtungen> <Ausführung> <id>Docker-Build-Image</id> <phase>Paket</phase> <Ziele> <goal>bauen</goal> </Ziele> </Ausführung> </Ausführungen> <!-- Plugin-Konfiguration --> <Konfiguration> <!-- Name des erstellten Images: tag--> <imageName>${project.artifactId}:${project.version}</imageName> <!-- Pfad zum Speichern der Docker-Datei--> <dockerDirectory>${project.basedir}</dockerDirectory> <!-- Docker-Hostadresse, die vom Plugin während der Initialisierungsphase aus application.yml analysiert wurde --> <dockerHost>${docker.host}</dockerHost> <!-- Adresse des SSL-Authentifizierungszertifikats, wenn die SSL-Anmeldung aktiviert ist--> <!-- <dockerCertPath></dockerCertPath> --> <Ressourcen> <Ressource> <!-- Welche Ressourcen werden zum Erstellen des Images verwendet (also das JAR-Paket) und das Verzeichnis, in das das Image in den Container übertragen wird--> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> </Konfiguration> </plugin> 5. Dockerfile schreibenErstellen Sie eine Dockerfile-Datei, füllen Sie den folgenden Inhalt aus und legen Sie sie dann im Stammverzeichnis des Projekts ab VON openjdk:8-jdk-alpine MAINTAINER [Autor] [[email protected]] ARG JAR_FILE=/ziel/*.jar KOPIEREN SIE ${JAR_FILE} app.jar EXPOSE 8080 EINSTIEGSPUNKT ["java","-jar","/app.jar"] 6. Verpacken Sie das ProjektDas Maven-Plugin bindet den Ausführungsprozess von Package und Docker:build, d. h., nachdem das Projekt in ein JAR gepackt wurde, wird Docker:build automatisch ausgeführt, um das Image zu erstellen und es auf dem Remote-Docker-Host zu veröffentlichen (wenn das Projekt groß ist, dauert es lange, bis das Image auf den Docker-Host übertragen wird). 7. Erstellen Sie einen ContainerSie können Docker im IDEA-Plugin verwalten. Klicken Sie unten rechts auf die Dienste und Sie können das gerade erstellte Image im verbundenen Docker sehen. Anschließend können Sie mit der rechten Maustaste auf dieses Image klicken, um einen Container zu erstellen. Geben Sie im Popup-Fenster den Namen des zu erstellenden Containers und den dem Container zugeordneten Port ein, klicken Sie dann auf „Ausführen“ und warten Sie, bis der Container gestartet wird. Nach Abschluss des Startvorgangs können Sie den neu erstellten Container im IDEA-Plugin sehen. Klicken Sie darauf, um die Details des Containers anzuzeigen. 8. Bereitstellung überprüfenVerwenden Sie die IP-Adresse oder den Domänennamen des Hosts, um auf die soeben veröffentlichte Testoberfläche zuzugreifen Dies ist das Ende dieses Artikels über die Integration von SpringBoot mit Docker. Weitere relevante Inhalte zur Integration von SpringBoot mit 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:
|
<<: Tabelle der durch hasLayout verursachten CSS-Fehler
>>: Implementierung der CSS-Auswahl von untergeordneten Elementen für übergeordnete Elemente
Detaillierte Erklärung zum MySQL-Export von Daten...
Aufgrund einiger seiner eigenen Merkmale (Sperren...
Dieser Artikel stellt hauptsächlich den Beispielc...
Als Nächstes werde ich zwei Tabellen erstellen un...
Inhaltsverzeichnis 1. Installation 2. Einführung ...
Verwenden Sie Vue, um einfach einen Click-Flip-Ef...
Wenn wir die LNPM-Serverumgebung installieren und...
1. Was ist eine Marge? Mit dem Rand wird die Abstä...
Inhaltsverzeichnis 【Wirkung】 【Implementierungsmet...
1. Ein Container ist eine unabhängig laufende Anw...
binlog ist eine binäre Protokolldatei, die alle D...
In diesem Artikel wird der spezifische Code des W...
1. Effekt der Listenabfrageschnittstelle Bevor wi...
Inhaltsverzeichnis Erfordern Implementierungscode...
Vorwort Der vom Blogger verwendete Server wurde v...