So entwickeln Sie Java 8 Spring Boot-Anwendungen in Docker

So entwickeln Sie Java 8 Spring Boot-Anwendungen in Docker

In diesem Artikel zeige ich Ihnen, wie Sie mit Java 8 eine einfache Spring-Webanwendung entwickeln und ausführen, ohne Java 8 auf Ihrem lokalen Computer installiert zu haben.

Python-Entwickler verwenden virtuelle Umgebungen, um separate Umgebungen für unterschiedliche Projekte zu erstellen und zu verwalten. Dabei wird jeweils eine andere Version von Python zum Ausführen, Speichern und Auflösen von Python-Abhängigkeiten verwendet. Java und viele andere Technologien unterstützen das Konzept virtueller Umgebungen nicht. An diesem Punkt kommt uns Docker zu Hilfe.

Docker ist eine Virtualisierungsplattform. Grundlegende Informationen und Installationsanleitungen finden Sie auf der offiziellen Docker-Website.

Sobald Sie die Docker Toolbox installiert haben, müssen Sie Java 8 oder MySQL, die in unseren Beispielanwendungen erforderlich sind, nicht mehr installieren.

Überprüfen wir zunächst Docker-compose Datei:

Version: '2'
Leistungen:
 SpringAppServer:
  bauen:
   Kontext: . 
   Docker-Datei: springapp.dockerfile
  Häfen: 
   - „8080:8080“
  Netzwerke:
   - Netz-Spring-DB
  Bände:
   - .:/vol/entwicklung
  hängt ab von:
   -mysqldbserver
 mysqldbserver:
  bauen:
   Kontext: . 
   Docker-Datei: mysqldb.dockerfile
  Häfen:
   - „3306:3306“
  Netzwerke:
   - Netz-Spring-DB
  Umfeld:
   MYSQL_DATABASE: testdb
   MYSQL_USER: meinBenutzer
   MYSQL_PASSWORD: meinPasswort
   MYSQL_ROOT_PASSWORD: meinRoot-Passwort
  Containername: mysqldbserver
Netzwerke:
 net-spring-db:
  Treiber: Brücke

Wir haben jeweils zwei Server auf ‚net-spring-db‘. Der erste heißt „springappserver“ und wird mithilfe springapp.dockerfile konfiguriert. Der zweite heißt mysqldbserver und wird mithilfe mysqldb.dockerfile konfiguriert.

Schauen wir uns nun die Datei springapp.dockerfile an:

#
# Java 1.8 und Maven Dockerfile
#
#
# Basisbild ziehen.
VON java:8
# Betreuer
WARTUNGSPERSÖNLICH Dursun KOC „[email protected]“
# Pakete aktualisieren und Maven installieren
LAUFEN \
 export DEBIAN_FRONTEND=nichtinteraktiv && \
 sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list && \
 apt-get update && \
 apt-get -y Upgrade && \
 apt-get install -y vim wget curl maven
# Datenträger anhängen
VOLUME /vol/Entwicklung
# Arbeitsverzeichnis erstellen
RUN mkdir -p /vol/entwicklung
ARBEITSVERZEICHNIS /vol/entwicklung
# Maven-Exec
CMD ["mvn", "sauber", "Paket", "exec:java"]

Die Docker-Datei konfiguriert ein Docker-Image, das vom Java 8-Image von Docker Hub erbt. Auf dem Java 8-Image habe ich vim, wget, curl, Maven installiert und Volumes eingerichtet, um meinen vorhandenen Projektcode unterzubringen. Schließlich führe ich den Maven-Befehl aus, um meine Anwendung auszuführen.

Überprüfen wir nun die Datei mysqldb.docker:

VON mysql/mysql-server
WARTUNGSPERSÖNLICH Dursun KOC <[email protected]>
# Kopieren Sie das Initialisierungsskript der Datenbank: 
# Der Inhalt von /docker-entrypoint-initdb.d wird beim Start von mysqld ausgeführt
ADD mysql/<jjjj-MM-tt> /docker-entrypoint-initdb.d/

Die Docker-Datei konfiguriert ein Docker-Image, das vom MySQL/MySQL-Server-Image von Docker Hub erbt. Auf dem MySQL-Image habe ich meine Skripte zur Datenbankschemaerstellung platziert, sie befinden sich im MySQL-Ordner. Ich habe in diesem Ordner eine SQL-Datei – data.sql – um die Tabelle „Person“ zu erstellen.

Schauen wir uns nun die Anwendungsstruktur an.

Unsere Anwendung wird in der Datei src / com / turkcell / softlab / Application.java gestartet und unser einziger Controller ist der PersonController (src/com/turkcell/softlab/controller/PersonController.java).

Sie können das gesamte Projekt mit einem einfachen Befehl ausführen:

docker-compose up -d

Verwenden Sie zum Testen die folgenden beiden Befehle auf Ihrem lokalen Computer:

• Eine neue Person anlegen:

curl -H "Inhaltstyp: application/json" -X POST -d "{\"Vorname\":\"Mustafa\",\"Nachname\":\"KOÇ\",\"Geburtsdatum\"381110400000,\"Geburtsort\":\"Erzincan\"}" "http://192.168.99.100:8080/Personen"

• In der Datenbank vorhandene Personen auflisten:

curl -H "Inhaltstyp: application/json" -X GET "http://192.168.99.100:8080/people"

Zusammenfassen

Oben ist die Methode, die ich Ihnen zum Entwickeln von Java 8 Spring Boot-Anwendungen in Docker vorgestellt habe. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • So starten Sie ein Java-Programm im Docker
  • Detaillierte Erläuterung zur Verwendung von Docker zum Erstellen einer einfachen Java-Entwicklungs- und Kompilierungsumgebung
  • Schritte zum Erstellen einer Java-Umgebung mit Docker
  • So verwenden Sie Docker, ein Hilfstool für die Java-Datenentwicklung, und normale Programme

<<:  JS implementiert das Auf- und Abgleiten auf dem mobilen Endgerät, jeweils einen Bildschirm nach dem anderen

>>:  Schritte zum Öffnen des MySQL-Binlogs

Artikel empfehlen

Weitere Möglichkeiten zur Verwendung von spitzen Klammern in Bash

Vorwort In diesem Artikel werden wir weitere Verw...

Erfahren Sie in einem Artikel mehr über TypeScript-Datentypen

Inhaltsverzeichnis Grundtypen jeder Typ Arrays Tu...

Zusammenfassung der XHTML-Tags auf Blockebene

* Adresse - Adresse * Blockzitat - Blockzitat * Mi...

Installationsschritte der Ubuntu 20.04-Doppelpinyin-Eingabemethode

1. Chinesische Eingabemethode einrichten 2. Stell...

Wie stellt MySQL eine Verbindung zum entsprechenden Clientprozess her?

Frage Wie können wir bei einer bestimmten MySQL-V...

Lösung für Verbindungsfehler beim MySQL-Server 5.5

Die Lösung für das Problem, dass MySQL keine Verb...

Interpretieren von MySQL-Client- und Serverprotokollen

Inhaltsverzeichnis MySQL-Client/Server-Protokoll ...

JS beherrscht schnell die Verwendung von ES6-Klassen

1. Wie konstruieren? Lassen Sie uns die allgemein...

Detaillierte Analyse des HTTP-Statuscodes 502 des Dienstes nginx+php-fpm

Bei einem unserer Webprojekte ist aufgrund der Zu...

Natives JS zum Erreichen von Spezialeffekt-Meldungsfeldern

In diesem Artikel wird ein Nachrichtenfeld mit Sp...

Lösung für Tomcat zum externen Speichern von Konfigurationsdateien

Frage Wenn wir bei der normalen Entwicklung das P...

Tutorial zur Installation der mysql5.7.36-Datenbank in einer Linux-Umgebung

Download-Adresse: https://dev.mysql.com/downloads...