So erstellen Sie die Docker + Springboot-App (für grundlegendes Lernen)

Einführung

In letzter Zeit hatte ich nicht die Möglichkeit, die Quelle für die Wartung und Dokumentenerstellung von Grund auf neu zu erstellen, und ich vergesse häufig die Grundlagen.

Zu dieser Zeit habe ich mir dieses Video angesehen.

How to create Docker Image and run Java App (Spring Boot Jar) in a Docker Engine | Tech Primers(2017) https://www.youtube.com/watch?v=FlSup_eelYE

Der Inhalt des Videos ist sehr leicht zu verstehen, und ich erinnerte mich übrigens daran, dass ich es nie von Grund auf neu gemacht hatte, also führte ich Bauarbeiten für das Studium durch.

Konstruktionsanforderungen

Lassen Sie die Springboot-App auf dem Docker-Container ausführen. Machen Sie es mit der Rest-API von außen zugänglich.

DockerDesktop-Setup

Erlauben Sie Docker, in einer Windows-Umgebung ausgeführt zu werden.

Installateur

Kann von diesem Beamten heruntergeladen werden https://hub.docker.com/editions/community/docker-ce-desktop-windows Starten Sie [Docker Desktop Installer.exe] und befolgen Sie die Anweisungen

Starten Sie Docker

Beginnen Sie mit einem Neustart nach dem Installationsprogramm

ProxySetUp (falls erforderlich)

Fügen Sie der Datei ~ / .docker / config.json die folgenden Proxys hinzu.

{
  "credsStore": "desktop",
  "stackOrchestrator": "swarm",
  "credStore": "desktop",
  "proxies":
	 {
	   "default":
	   {
	     "httpProxy": "http://127.0.0.1:3001",
	     "httpsProxy": "http://127.0.0.1:3001",
	     "noProxy": "*.test.example.com,.example2.com"
	   }
	 }
}
https://docs.docker.com/network/proxy/

Springboot erste Erstellung

○ Erstellen Sie ein Spring-Boot-Projekt https://start.spring.io/

Rest Repository zur Abhängigkeit hinzugefügt, um RestAPI zu erstellen.

  • Fügen Sie eine Bibliothek hinzu, die Ihrem Zweck entspricht.

image.png

Drücken Sie nach dem Vornehmen der Einstellungen die Taste GENERATE, um die ZIP-Datei herunterzuladen.

Vor Ort platzieren

image.png

Erstellen Sie ein Beispielmodul für Rest

Erstellen Sie ein Controller-Paket unter poc.dockerspringboot und erstellen Sie eine Beispieldatei


package poc.dockerspringboot.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/rest/message/helloWorldOnDocker")
public class HelloWorldOnDocker {

    @GetMapping
    public String hello(){
        return "Hello from Docker Container";
    }
}

Maven Build durchführen

Führen Sie eine mvn-Neuinstallation durch image.png

Docker-Datei einrichten

Erstellen einer Docker-Datei

Erstellen Sie eine Docker-Datei direkt unter dem Projekt

image.png

Erstellungsbeispiel

FROM adoptopenjdk:11-jre-openj9
ADD target/docker-springboot.jar docker-springboot.jar
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "docker-springboot.jar"]

FROM: Basisbild angeben (Java)

Verwenden Sie in OpenJDK adoptopenjdk, das für kommerzielle Zwecke verwendet werden kann. https://hub.docker.com/_/adoptopenjdk

HINZUFÜGEN: Modul hinzufügen

Fügen Sie das generierte Modul Docker hinzu. Unter target wird ein Modul erstellt. Da der Dateiname von jar jedoch lang ist, geben Sie den Ausgabenamen mit [finalName] an.

<build>
	<finalName>docker-springboot</finalName>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

Referenz: Informationen zur Einstellung des Spring-Boot-Maven-Plugins https://spring.pleiades.io/spring-boot/docs/current/maven-plugin/reference/html/

EXPOSE: Port für externe Offenlegung

Geben Sie den Port an, den Sie im Docker-Container öffnen möchten

Innerhalb des Containers ist der Standardport beim Start des Spring-Boot 8080 Wenn Sie diesen Wert ändern möchten, fügen Sie server.port = 8082 usw. zu application.properties hinzu

Wenn Docker gestartet wird, werden der intern gestartete Port und der nach außen geöffnete Port verknüpft.

ENTRYPOINT: Startpunkt

Starten Sie das Modul mit dem Befehl jar. Durch Ausführen dieses Befehls wird der integrierte Server (Tomcat) gestartet und akzeptiert den Zugriff.

Container-Start

#Bilderzeugung
docker build -f Dockerfile -t docker-spring-boot .

#Bestätigung der Schöpfung
docker images

#Container-Start
docker run -p 8081:8080 docker-spring-boot


Zugriffsbestätigung

http://localhost:8081/rest/message/helloWorldOnDocker image.png

schließlich

Es gibt keine neuen technischen Entdeckungen, aber gelegentlich macht mich diese Art von Arbeit klar. Wird als Richtlinie beschrieben, damit sie später übertragen werden kann.

Recommended Posts

So erstellen Sie die Docker + Springboot-App (für grundlegendes Lernen)
So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
So erstellen Sie CloudStack mit Docker
So erstellen Sie eine Rails 6-Umgebung mit Docker
[Rails] So erstellen Sie eine Umgebung mit Docker
So installieren Sie Docker
Wie man android-midi-lib baut
So führen Sie die SpringBoot-App als Dienst aus
So beenden Sie Docker für Mac und erstellen eine Docker-Entwicklungsumgebung mit Ubuntu + Vagrant
So führen Sie die Standardauthentifizierung ein
So legen Sie Nginx von Docker fest
Lassen Sie uns schreiben, wie API mit SpringBoot + Docker von 0 erstellt wird
So erstellen Sie mit Docker ~ Express ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
Einführung in die Programmierung für Studenten: Zeichnen grundlegender Quadrate
So legen Sie die Validierung für time_field fest
So installieren Sie JMeter für Mac
So führen Sie JavaFX unter Docker aus
So erstellen Sie mit Docker ~ MySQL ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
Artikel, auf die sich Docker bezieht
So erstellen Sie eine Rails + Vue + MySQL-Umgebung mit Docker [neueste Version 2020/09]
So erstellen Sie mit Docker ~ Sequelize ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
So starten Sie Camunda mit Docker
[Für diejenigen, die Portfolios erstellen] Verwendung von binding.pry mit Docker
[Docker] So erstellen Sie eine virtuelle Umgebung für Rails- und Nuxt.js-Apps
So erstellen Sie mit rbenv eine Umgebung für eine beliebige Version von Ruby
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
[Docker] Erstellen, wenn der Quellcode auf dem Container gebunden ist
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
So teilen Sie Dateien mit Docker Toolbox
So ändern Sie den App-Namen in Rails
So installieren Sie Play Framework 2.6 für Mac
[Basic] So schreiben Sie ein Dockerfile Selbstlernend ②
So erstellen Sie ein Maven-Repository für 2020
Verwendung von Docker in VSCode DevContainer
Wie man SquashTM baut und wie man Japanisch unterstützt
[Ruby] Wie man Slice für Anfänger benutzt
Docker Container Build kann PHP-Radis nicht installieren
Benötigt für iOS 14? So legen Sie NSUserTrackingUsageDescription fest
Verstehe in 5 Minuten !! Wie man Docker benutzt
[SpringBoot] So schreiben Sie einen Controller-Test
So führen Sie Blazor (C #) mit Docker aus
[Für Anfänger] So debuggen Sie mit Eclipse
Anzeigen der vom Docker-Container verwendeten Festplattenmenge für jeden Container
Überlegen Sie, wie Sie Ionic-Native, Hybrid und HTML5 für die Produktion mobiler Apps verwenden können
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
So erstellen Sie mit Docker ~ Vue ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
[Einführung in Docker] Erstellen Sie ein Docker-Image für maschinelles Lernen und verwenden Sie das Jupyter-Notizbuch