Eine kurze Analyse der SpringBoot-Verpackung und des Hochladens in Docker sowie der Implementierung der Bereitstellung mehrerer Instanzen (IDEA-Version)

Eine kurze Analyse der SpringBoot-Verpackung und des Hochladens in Docker sowie der Implementierung der Bereitstellung mehrerer Instanzen (IDEA-Version)

Kürzlich fragte mich ein Freund, ob ich schon einmal mit Docker gespielt habe. Ich war mir nicht sicher, ob ich antworten sollte ^-^ (Ich kam damit in Berührung, als ich zum ersten Mal mit Cloud spielte, spielte eine Weile damit und verwendete es dann selten in der eigentlichen Entwicklung, sodass ich es im Grunde vergessen hatte.), heute habe ich einige Zeit damit verbracht, meine vorherigen Notizen zu ordnen und einen Prozess zu organisieren. Ich werde ihn aufzeichnen, damit ich ihn beim nächsten Mal, wenn ich damit spiele, wiedergeben kann~

1. Docker installieren und Fernzugriff aktivieren

1.1 Installation

# Überprüfen Sie die Kernelversion der virtuellen Maschine, die 3.10 oder höher sein muss uname -r
# Docker installieren
yum installiere Docker
# Geben Sie y ein, um die Installation zu bestätigen.# Starten Sie Docker
systemctl starte Docker
# Überprüfen Sie die Docker-Version docker -v
# Starten Sie Docker beim Booten
systemctl aktiviert Docker
# Docker stoppen
systemctl stoppt Docker
# Docker neu starten
systemctl Neustart Docker

1.2 Fernzugriff aktivieren

Ändern Sie die Datei docker.service

vim /usr/lib/systemd/system/docker.service

Ändern Sie die ExecStart-Zeile
#ExecStart=/usr/bin/dockerd -H fd://--containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

# Laden Sie die Konfigurationsdatei systemctl daemon-reload neu 
# Starten Sie den Dienst neu systemctl restart docker.service 
# Überprüfen Sie, ob der Port geöffnet ist (wenn es sich um einen Server wie Alibaba Cloud handelt, müssen Sie Port 2375 unter "Sicherheit" -> "Firewall" öffnen).
netstat -nlpt
# Überprüfen Sie, ob curl wirksam ist http://127.0.0.1:2375/info

2. IDEA installiert das Docker-Plugin und verbindet

2.1 Plugins installieren

Das ist ganz einfach, ich habe einfach Schritt für Schritt Screenshots gemacht. . . (Wer ist das? Wie verwende ich die chinesische Version von IDEA?)

Bildbeschreibung hier einfügen

2.2 Mit Docker verbinden

Bildbeschreibung hier einfügen

3. Packen Sie das JAR-Paket und schreiben Sie das Dockerfile. Das Packen des JAR-Pakets wird hier nicht beschrieben. . . Schreiben Sie Dockerfile, achten Sie auf die unterstrichenen Teile und ändern Sie sie dann

Bildbeschreibung hier einfügen

VON java:8
# Informationen zum Betreuer MAINTAINER houyu
# Das Verzeichnis /tmp wird hier zur Laufzeit automatisch als anonymes Volume gemountet und alle in /tmp geschriebenen Informationen werden nicht in der Containerspeicherebene VOLUME /tmp aufgezeichnet
# Kopiere /build/libs/fastboot-0.0.1.jar im Kontextverzeichnis in den Container COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar
# Im Bash-Modus ausführen, um fastboot-0.0.1.jar zugänglich zu machen. # AUSFÜHREN Erstellen Sie eine neue Ebene und führen Sie diese Befehle darauf aus. Nachdem die Ausführung abgeschlossen ist, übernehmen Sie die Änderungen an dieser Ebene, um ein neues Image zu erstellen.
Führen Sie den Befehl bash -c "touch /fastboot-0.0.1.jar" aus.
# Geben Sie die Zeitzone an. # ENV TZ='Asia/Shanghai'
#Deklarieren Sie den vom Laufzeitcontainer bereitgestellten Service-Port. Dies ist nur eine Deklaration. Aufgrund dieser Deklaration wird die Anwendung den Service dieses Ports zur Laufzeit nicht öffnen. EXPOSE 10007
#Geben Sie das Container-Startprogramm und die Parameter <ENTRYPOINT> "<CMD>" an.
EINSTIEGSPUNKT ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]

4. IDEA-Konfigurations-Build-Image

4.1 Konfigurieren des Ausführungsskripts

Bildbeschreibung hier einfügen

4.2 Ausführen des Skripts

Bildbeschreibung hier einfügen

5. Der Host überprüft das Image und bestätigt, dass die Bereitstellung erfolgreich war

Bildbeschreibung hier einfügen

6. Mehrere Instanzen bereitstellen

Die spezifischen Befehle lauten wie folgt:

Bildbeschreibung hier einfügen

Operationsskript

# Docker-Images anzeigen
# Den installierten Container anzeigen docker ps -a
# Klonen Sie das Image c1726e8f3819 und installieren Sie es als fb1.2-Container. # -d: Im Hintergrund ausführen. # -p: Ordnen Sie den Host-Port einem Port im Container zu. Host-Port: Port innerhalb des Containers. docker run --name fb1.2 -d -p 10008:10007 c1726e8f3819 
# Den installierten Container anzeigen docker ps -a 
# Den laufenden Container Docker PS anzeigen 
# Überprüfen Sie fb1.1
Locken 127.0.0.1:10007 
# Überprüfen Sie fb1.2
Locken 127.0.0.1:10008

Häufig verwendete Docker-Befehle (privater Wine)

1) Image-Operation (https://hub.docker.com/)

1. Rufen Sie detaillierte Informationen zum Bild ab, z. B. das Tag des Bildes.
Docker-Suchbild-Schlüsselwort wie: Docker-Suche Redis
2. Ziehen Sie das Bild (:Tag ist optional, Tag bedeutet Bezeichnung, meistens die Version der Software, die Standardeinstellung ist die neueste)
docker pull registry.docker-cn.com/library/redis:5.0.3 um den Pull zu beschleunigen
Docker Pull-Beschleunigungsadresse + Image-Name: Tag, z. B.: Docker Pull Redis: 5.0.3
3. Alle lokalen Bilder anzeigen
Docker-Bilder
4. Löschen Sie das angegebene lokale Bild
Docker RMI Image-ID oder Name, zum Beispiel: Docker RMI Tomcat
5. Benennen Sie das Bild um
Docker-Tag IMAGEID (Bild-ID) REPOSITORY:TAG (Warehouse: Tag)

2) Containerbetrieb (Software-Image ---- Image ausführen ---- Container generieren)

1. Suche nach Bildern
Docker-Suche Tomcat
2. Ziehen Sie das Bild (:Tag ist optional, Tag bedeutet Bezeichnung, meistens die Version der Software, die Standardeinstellung ist die neueste)
Docker Pull Tomcat: neueste
3. Starten Sie den Container gemäß dem Bild (letztes kann weggelassen werden, andere Tags müssen hinzugefügt werden)
-d: Im Hintergrund ausführen
-p: Ordnen Sie den Host-Port einem Port im Container zu. Host-Port: der Port innerhalb des Containers.
docker run --name alias -d host port: Port innerhalb des Containers REPOSITORY/IMAGE ID
Beispiel: docker run --name mytomcat -d 8080:8080 tomcat:latest
3.1 Neustart des Containers
Docker startet Containername/-ID neu
4. Zeigen Sie den laufenden Container an
Docker PS
5. Alle installierten Container anzeigen
Docker ps -a
6. Stoppen Sie den laufenden Container
Docker stoppt Container-ID/-Name
7. Starten Sie den Container
Docker-Startcontainer-ID/-Name
8. Löschen eines Containers
Docker RM Container-ID/-Name
9. Containerprotokoll anzeigen
Docker-Protokolle Containername/Container-ID (Containername oder Container-ID)
10. Betreten Sie den vorgesehenen Containerplatz
docker exec -it Containername/ID /bin/bash
Beispiel: docker exec -it tensquare_es /bin/bash

7. Aktivieren Sie aus Sicherheitsgründen nicht den Docker-Fernzugriff in der Online-Umgebung, da dieser sonst möglicherweise als Fleischmaschine behandelt wird

Ausführliche Informationen finden Sie unter „So lösen Sie das Problem eines Serverangriffs, weil Docker Port 2375 freigibt!“

Dies ist das Ende dieses Artikels über eine kurze Analyse der SpringBoot-Verpackung und des Hochladens auf Docker sowie die Realisierung der Bereitstellung mehrerer Instanzen (IDEA-Version). Weitere verwandte Inhalte zur SpringBoot-Verpackung und zum Hochladen auf Docker 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:
  • So packen Sie das Projekt per Idee in Docker
  • Die Idee kombiniert Docker, um Image-Paketierung und Bereitstellung mit einem Klick zu realisieren
  • So integrieren Sie Docker in IDEA, um eine Verpackung zu erreichen

<<:  js realisiert Warenkorb-Add- und Subtraktions- sowie Preisberechnungsfunktionen

>>:  Beispielanalyse von gespeicherten MySQL-Prozeduren, die Fehlerbedingungen in gespeicherten Prozeduren auslösen (SIGNAL- und RESIGNAL-Anweisungen)

Artikel empfehlen

Das Vue-Projekt realisiert Anmelde- und Registrierungseffekte

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung der Breakpoint-Wiederaufnahme im Vue-Video-Player

In einem aktuellen Projekt musste ich die Funktio...

HTML-Tutorial, leicht zu erlernende HTML-Sprache

1. <body background=Bilddateiname bgcolor=Farb...

Parsen von Apache Avro-Daten in einem Artikel

Zusammenfassung: Dieser Artikel zeigt, wie Avro-D...

Einführung in den Prozess zum Erstellen eigener FTP- und SFTP-Server

FTP und SFTP werden häufig als Dateiübertragungsp...

Implementierungscode der HTML-Floating-Promptbox-Funktion

Allgemeine Formulareingabeaufforderungen belegen ...

Natives js zur Realisierung der Bild-Upload-Steuerung

In diesem Artikelbeispiel wird der spezifische Co...

Tipps zum Erstellen von Webseiten für Mobiltelefone

Angesichts der Tatsache, dass mittlerweile viele M...

Detaillierte Erklärung zur Verwendung von Titel-Tags und Absatz-Tags in XHTML

XHTML-Überschriftenübersicht Wenn wir Word-Dokume...

Lösung für die Auswirkungen leerer Pfade auf die Seitenleistung

Vor ein paar Tagen habe ich einen von Yu Bo getei...

So erstellen Sie einen Nginx-Image-Server mit Docker

Vorwort Bei der allgemeinen Entwicklung werden Bi...