Einführung in die schnelle Docker-Bereitstellung eines SpringBoot-Projekts

Einführung in die schnelle Docker-Bereitstellung eines SpringBoot-Projekts

1. Docker installieren

Öffnen Sie zunächst die Linux-Umgebung und geben Sie zur Installation den folgenden Befehl ein:

Installieren Sie yum install docker

Überprüfen Sie, ob die Installation erfolgreich war: docker --version

#Starten Sie systemctl start docker

Wenn der Download sehr langsam ist, können Sie zum Herunterladen auf das inländische Alibaba Cloud-Image wechseln:

Ändern Sie die Bildquelle sudo vim /etc/docker/daemon.json

Der Inhalt ist wie folgt:
{
 "Registrierungsspiegel": ["https://m9r2r2uj.mirror.aliyuncs.com"]
}

Speichern und beenden, Docker neu starten:
systemctl Neustart Docker

2. Redis installieren

Suchen Sie zunächst in DockerHub nach Redis. Klicken Sie, um die Detailseite aufzurufen. Scrollen Sie nach unten, um zu erfahren, wie Sie es verwenden. Wenn Sie eine bestimmte Version auswählen müssen, stehen uns unterstützte Tags zur Auswahl. Wenn Sie dann die neueste Version abrufen möchten, scrollen Sie wie folgt nach unten zum Befehls-Tutorial:

Ziehen Sie das Redis-Image Docker Pull Redis

Lokale Redis-Image-Docker-Images anzeigen

Redis ausführen
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes

docker run bedeutet Ausführen --name myredis bedeutet, ihm einen Namen namens myredis zu geben.
-p 6379:6379 bedeutet, den Port 6379 des Servers dem Port 6379 des Dockers zuzuordnen, sodass der Docker-Port über den Port des Servers aufgerufen werden kann.
-d bedeutet, dass Redis Redis Redis-Server als Hintergrunddienst ausgeführt wird --appendonly yes bedeutet, dass der persistente Cache-Modus aktiviert wird, der auf der Festplatte gespeichert werden kann

3. MySQL installieren

Laden Sie das MySQL-Image herunter:
docker pull mysql:5.7.27

Docker führt MySQL aus:
docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306 mysql:5.7.27 

4. Installieren Sie RabbitMQ

Dies kann mit einer Befehlszeile erledigt werden. Beachten Sie, dass RABBITMQ_DEFAULT_PASS=password das Festlegen des Passworts bedeutet. Diese Befehlszeile hat heimlich Vorgänge wie das Herunterladen des Bildes ausgeführt:

docker run -d --hostname mein-Kaninchen --name meinKaninchen -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

5. Installieren Sie ElasticSearch

Der Pull-Down-Spiegel-Vorgang entfällt:

Start-up:
docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3

Geben Sie das Bild ein:
docker exec -it es_643 /bin/bash

Installieren Sie das Plugin zur chinesischen Wortsegmentierung:
./bin/elasticsearch-plugin installieren https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

Beenden und Neustarten des Bildes Exit
Docker-Neustart es_643

6. Erstellen Sie das Docker-Image des Projekts

Wir verwenden den Befehl, um das Projekt von GitHub abzurufen:

Dropdown-Elemente (E-Blog):
Klonen Sie https://github.com/MarkerHub/eblog.git

Gehen Sie in den Ordner:
CD-E-Blog

Pack:
mvn sauberes Paket -Dmaven.test.skip=true

Laden Sie das kompilierte JAR-Paket auf den Linux-Server hoch!

Als nächstes schreiben Sie DockerFile, das unseren gepackten JAR-Paketcode in ein Image umwandeln kann:

VON java:8
EXPOSE 8080

VOLUMEN /tmp

ENV TZ=Asien/Shanghai
RUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone

HINZUFÜGEN eblog-0.0.1-SNAPSHOT.jar /app.jar
Führen Sie den Befehl bash -c 'touch /app.jar' aus.
EINSTIEGSPUNKT ["java","-jar","/app.jar"]

FROM java:8 gibt an, dass es auf der jdk8-Umgebung basiert
EXPOSE 8080 bedeutet, dass der freigegebene Port 8080 ist.
VOLUME /tmp bedeutet das Mounten im Verzeichnis /tmp
ADD eblog-0.0.1-SNAPSHOT.jar /app.jar bedeutet, das JAR-Paket in das Stammverzeichnis des Image-Dienstes zu kopieren und in app.jar umzubenennen.
RUN bash -c 'touch /app.jar' bedeutet, app.jar zu erstellen
ENTRYPOINT ["java","-jar","/app.jar"] bedeutet, den Startbefehl java -jar auszuführen

Als nächstes installieren wir Dockerfile und verwenden DockerFile, um eblog-0.0.1-SNAPSHOT.jar in einen Spiegel zu erstellen:

Erstellen Sie das Image „docker build -t eblog“.

Docker-Images anzeigen

Nachdem dieser Schritt abgeschlossen ist, können wir die Vorbereitungsarbeiten abschließen. Als nächstes starten wir direkt mit unserem Projekt.

7. Führen Sie das Projektabbild aus, um den Projektstart abzuschließen

Der Befehl lautet wie folgt:

docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog

-p 8080:8080 -p 9326:9326: 9326 ist der für Instant Messaging benötigte WS-Port --link es:ees gibt den zugehörigen Container an, und der Container es wird als ees bezeichnet

E-Blog-Druckprotokoll anzeigen:

Docker-Protokolle -f Eblog

Das Projekt verlief bisher erfolgreich!

Beachten: Die Verwendung von DockerCompose ist einfacher

Dies ist das Ende dieses Artikels über die Einführung der Docker-Schnellbereitstellung für SpringBoot-Projekte. Weitere relevante Inhalte zur Docker-Bereitstellung für SpringBoot finden Sie in früheren Artikeln auf 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:
  • Implementierungsschritte für die Docker-Bereitstellung von SpringBoot-Anwendungen
  • Detaillierter Prozess der SpringBoot-Integration von Docker
  • Detaillierter Prozess der Integration von Docker mit der Idee, Springboot-Anwendungen schnell bereitzustellen

<<:  JSONP-domänenübergreifende Simulation der Baidu-Suche

>>:  CSS-Pseudoklasse: empty makes me shine (Beispielcode)

Artikel empfehlen

So deinstallieren Sie MySQL 5.7.19 unter Linux

1. Finden Sie heraus, ob MySQL zuvor installiert ...

JavaScript-Tipps zur Verbesserung Ihrer Programmierkenntnisse

Inhaltsverzeichnis 1. Filtern Sie eindeutige Wert...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.17

Funktionen von MySQL: MySQL ist ein relationales ...

HTML+CSS zum Erstellen von Herzschlag-Spezialeffekten

Heute werden wir einen einfachen Herzschlageffekt...

Detailliertes Beispiel zum Ändern des Linux-Kontokennworts

Passwort des persönlichen Kontos ändern Wenn norm...

Wo werden MySQL-Daten gespeichert?

Speicherort der MySQL-Datenbank: 1. Wenn MySQL di...

Detaillierte Erklärung des Unterschieds zwischen CSS-Link und @import

Wie fügt man CSS in HTML ein? Es gibt drei Möglic...

Implementierung eines einfachen Whack-a-Mole-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...