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

Implementierung der Multi-Port-Zuordnung des Nginx-Reverse-Proxys

Code Erklärung 1.1 http:www.baidu.test.com verwen...

Gründe und Lösungen für die Auswahl des falschen Index durch MySQL

In MySQL können Sie mehrere Indizes für eine Tabe...

Mysql-Datumsformatierung und komplexe Datumsbereichsabfrage

Inhaltsverzeichnis Vorwort Anwendungsszenarios fü...

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

Tutorial zur Installation von VMware Workstation 14 Pro unter Ubuntu 16.04

In diesem Artikel wird die spezifische Methode zu...

Zusammenfassung der Tipps zum Erstellen von Webseiten

Vorwort Dieser Artikel fasst hauptsächlich einige...

So erstellen Sie eine MySQL-Master-Slave-Datenbank mit Docker unter MacOS

1. Ziehen Sie das MySQL-Image Holen Sie sich das ...

MySQL5.7 Master-Slave-Konfigurationsbeispielanalyse

Implementierungsmethode für die MySQL5.7-Master-S...

MySql8 WITH RECURSIVE rekursive Abfrage Eltern-Kind-Sammlungsmethode

Hintergrund Wenn Sie eine Funktion entwickeln, di...

Tabellen dynamisch in HTML hinzufügen_PowerNode Java Academy

Ohne weitere Umschweife werde ich den Code direkt...

So verstehen Sie die semantische HTML-Struktur

Ich glaube, jeder kennt HTML und CSS, kennt die T...