Detaillierte Schritte zum Ausführen eines Springboot-Projekts in Linux Docker

Detaillierte Schritte zum Ausführen eines Springboot-Projekts in Linux Docker

Einführung:

Die Konfiguration von Docker, auf dem das Springboot-Projekt ausgeführt wird, ist eigentlich sehr einfach und entspricht genau der Ausführung von Springboot direkt unter Linux. Start

1: Wir brauchen zuerst eine laufende Docker-Umgebung

Schritt 1: Installation mit yum (unter CentOS 7)

Docker erfordert eine CentOS-Kernelversion höher als 3.10. Überprüfen Sie die Voraussetzungen auf dieser Seite, um festzustellen, ob Ihre CentOS-Version Docker unterstützt.

Verwenden Sie den Befehl uname -r, um Ihre aktuelle Kernelversion zu überprüfen

[root@iZbp1gp1t778obaz5m8vk8Z ~]# uname -r
3.10.0-957.21.3.el7.x86_64

Schritt 2: Docker installieren

Das Docker-Paket und seine Abhängigkeiten sind bereits in der Standard-Softwarequelle CentOS-Extras enthalten. Der Installationsbefehl lautet wie folgt:

[root@iZbp1gp1t778obaz5m8vk8Z ~]# yum -y installiere Docker

Die Installation ist abgeschlossen.

Schritt 3: Starten Sie den Docker-Hintergrunddienst

[root@iZbp1gp1t778obaz5m8vk8Z ~]# Dienst Docker starten

Schritt 4: Testen und Ausführen von „Hello-World“

[root@izwz99z5o9dc90keftqhlrz ~]# Docker-Ausführung Hallo Welt
 
Hallo von Docker!
Diese Meldung zeigt, dass Ihre Installation scheinbar ordnungsgemäß funktioniert.
 
Um diese Nachricht zu generieren, hat Docker die folgenden Schritte ausgeführt:
 1. Der Docker-Client hat den Docker-Daemon kontaktiert.
 2. Der Docker-Daemon hat das „Hallo-Welt“-Image vom Docker-Hub abgerufen.
  (amd64)
 3. Der Docker-Daemon erstellt aus diesem Image einen neuen Container, der den
  ausführbare Datei, die die Ausgabe erzeugt, die Sie aktuell lesen.
 4. Der Docker-Daemon hat die Ausgabe an den Docker-Client gestreamt, der sie dann
  zu Ihrem Terminal.
 
Wenn Sie etwas Anspruchsvolleres ausprobieren möchten, können Sie einen Ubuntu-Container mit Folgendem ausführen:
 $ Docker ausführen -it Ubuntu Bash
 
Geben Sie Bilder frei, automatisieren Sie Workflows und mehr mit einer kostenlosen Docker-ID:
 https://hub.docker.com/
 
Weitere Beispiele und Ideen finden Sie unter:
 https://docs.docker.com/get-started/

Da lokal kein „Hello-World“-Image vorhanden ist, wird ein „Hello-World“-Image heruntergeladen und im Container ausgeführt. Jetzt können wir beginnen, es wirklich zu verwenden.

2: Beginnen wir mit unserer eigenen Docker-Springboot-Konfiguration

Schritt 1: Erstellen Sie ein Operationskonto, um Docker auszuführen. Neu hinzugefügt – nicht mit dem folgenden Dokumentinhalt verbunden [ Operationen dürfen im Allgemeinen nicht von Root ausgeführt werden ]

[root@iZbp1gp1t778obaz5m8vk8Z ~]# useradd -d /home/hn-docker -m hn-docker #Ein Betriebskonto erstellen [root@iZbp1gp1t778obaz5m8vk8Z ~]# 
[root@iZbp1gp1t778obaz5m8vk8Z ~]# passwd hn-docker #Passwort ändern Passwort für Benutzer hn-docker ändern.
Neues Passwort: 
FALSCHES PASSWORT: Das Passwort enthält den Benutzernamen in irgendeiner Form
Neues Passwort wiederholen: 
passwd: Alle Authentifizierungstoken erfolgreich aktualisiert.
[root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo groupadd docker #Docker-Benutzergruppe hinzufügen. Wenn sie bereits existiert, wird sie nicht benötigt. [root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo gpasswd -a hn-docker docker ##Den angemeldeten Benutzer zur Docker-Benutzergruppe hinzufügen Benutzer hn-docker zur Gruppe Docker hinzufügen

Schritt 2: Starten Sie den Docker-Betrieb und die Wartung

[root@izwz99z5o9dc90keftqhlrz Docker]# pwd
/Wurzel/Docker
[root@izwz99z5o9dc90keftqhlrz Docker]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# mkdir elasticsearch
[root@izwz99z5o9dc90keftqhlrz Docker]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# cd elasticsearch/
[root@izwz99z5o9dc90keftqhlrz Elasticsearch]#

1. Führen Sie mvn install aus, um das Projekt in ein JAR-Paket zu packen
2. Kopieren Sie das JAR-Paket in den aktuell erstellten Ordner und die Dockerfile-Datei in einen Ordner

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# Dockerfile berühren 
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# vi Docker-Datei 
 
# Das Basis-Image verwendet Java
VON java:8
# WARTUNGSBEDIENER shixiong <[email protected]>
# VOLUME gibt das temporäre Dateiverzeichnis als /tmp an.
# Der Effekt besteht darin, eine temporäre Datei im Verzeichnis /var/lib/docker des Hosts zu erstellen und sie mit dem Verzeichnis /tmp des Containers zu verknüpfen.
VOLUMEN /tmp
# Fügen Sie das JAR-Paket zum Container hinzu und benennen Sie es in app.jar um. Sie können relative oder absolute Pfade verwenden. Hier lautet der relative Pfad ADD springboot-es6.jar /springboot-es6.jar
# Führen Sie das JAR-Paket aus. RUN bash -c 'touch /springboot-es6.jar'
#Stellen Sie die Zeitzone ein - sonst ist sie 8 Stunden langsamer als die aktuelle Zeit RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot-es6.jar"]

3: Erstellen Sie unser Springboot-Projekt in Docker und generieren Sie ein Docker-Image

3. Geben Sie den Ordner ein und führen Sie den Befehl aus. Die Ergebnisse sind unterschiedlich, wenn Sie den Befehl mit oder ohne Version ausführen. ! !

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6:v1.0 .
Die obige Konfiguration: Der Laufzeitbefehl lautet:
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6:v1.0
 
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker build -t springboot-es6 .
Die obige Konfiguration: Der Laufzeitbefehl lautet:
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6 

Bei dem von v1.0 generierten Image lautet der falsche Befehl wie folgt:

4: Führen Sie das Springboot-Projekt in Docker aus

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6
e7a56662f804ef72e7dcae3fa71e840c35e28e18aa1aff7e98b71d900b17c305
[root@izwz99z5o9dc90keftqhlrz Elasticsearch]#

Fünftens: Prüfen Sie, ob unsere Schnittstelle verwendet werden kann

Die Schnittstelle ist perfekt nutzbar und im Folgenden wird beschrieben, wie Container verwaltet und Protokolle angezeigt werden.

Dies ist das Ende dieses Artikels über Linux Docker, der Springboot-Projekte ausführt. Weitere relevante Inhalte zu Docker, der Springboot-Projekte ausführt, finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Schritte zum Bereitstellen von SpringBoot-Projekten mit Docker in Idea
  • So stellen Sie ein SpringBoot-Projekt mit Docker bereit
  • So stellen Sie ein SpringBoot-Projekt mit Dockerfile bereit
  • Die Lösung für das Springboot-Projekt, um ein War-Package-Docker-Paket zu erstellen und keine statischen Ressourcen unter der Ressource zu finden
  • Detaillierte Erläuterung der Docker-Bereitstellungspraxis des Springboot-Projekts

<<:  WeChat Mini-Programm QR-Code-Generierungstool weapp-qrcode Detaillierte Erklärung

>>:  Der Unterschied sowie die Vor- und Nachteile des MySQL-Primärschlüssels UUID und des automatisch inkrementierten Primärschlüssels

Artikel empfehlen

Werbefähigkeiten im Baidu Union-Umfeld (grafisches Tutorial)

Kürzlich haben Studierende des User Experience-Tea...

Web-Standardanwendung: Neugestaltung der Tencent QQ-Homepage

Die Homepage von Tencent QQ wurde neu gestaltet un...

Beispiele für die Verwendung der Operatoren && und || in JavaScript

Inhaltsverzeichnis Vorwort && Operator ||...

Korrekte Änderungsschritte für das Standardnetzwerksegment von Docker

Hintergrund Ein Kollege arbeitet an seinem Sicher...

Erfahren Sie schnell, wie Sie mit der Vuex-Statusverwaltung in Vue3.0 beginnen

Vuex ist ein speziell für Vue.js-Anwendungen entw...

Drei Möglichkeiten zum Weiterleiten des Linux-SSH-Ports

ssh ist eines der beiden Befehlszeilentools, die ...

Vergleich der von der MySQL-Datenbank unterstützten Speicher-Engines

Inhaltsverzeichnis Speicher-Engine Von MySQL unte...

Beispiel für die Implementierung des Skelettbildschirms des WeChat-Applets

Inhaltsverzeichnis Was ist ein Skelettbildschirm?...

Beispiel für die Verwendung von Docker zum Erstellen eines ELK-Protokollsystems

Die folgenden Installationen verwenden alle das V...

Detaillierte Erklärung des Prinzips und der Funktion des JavaScript-Closures

Inhaltsverzeichnis Einführung Verwendung von Vers...

Detaillierte Erklärung der Ansichten in MySQL

Sicht: Ansichten in MySQL haben viele Ähnlichkeit...

Über die praktische Anwendung von HTML-Mailto (E-Mail) sprechen

Wie wir alle wissen, ist „mailto“ ein sehr praktis...

Einige Vorschläge zur Lesbarkeit des Vue-Codes

Inhaltsverzeichnis 1. Nutzen Sie Komponenten sinn...