[JAVA] Aufbau der Docker x Spring Boot-Umgebung

Aufbau der Docker x Spring Boot-Umgebung

Überblick

Verwenden Sie Docker, um eine Spring Boot-Umgebung zu erstellen. Um den Vorgang zu überprüfen, zeigen Sie Hello World im Browser an.

Umgebung

--macOS Catalina Version 10.15.5

Verfassung

Die endgültige Konfiguration lautet wie folgt.

├── docker-compose.yml
└── server
    ├── HELP.md
    ├── build
    │   ├── classes
    │   │   └── java
    │   │       ├── main
    │   │       │   └── com
    │   │       │       └── example
    │   │       │           └── api
    │   │       │               └── ApiApplication.class
    │   │       └── test
    │   │           └── com
    │   │               └── example
    │   │                   └── api
    │   │                       └── ApiApplicationTests.class
    │   ├── generated
    │   │   └── sources
    │   │       ├── annotationProcessor
    │   │       │   └── java
    │   │       │       ├── main
    │   │       │       └── test
    │   │       └── headers
    │   │           └── java
    │   │               ├── main
    │   │               └── test
    │   ├── libs
    │   │   └── api-0.0.1-SNAPSHOT.jar
    │   ├── reports
    │   │   └── tests
    │   │       └── test
    │   │           ├── classes
    │   │           │   └── com.example.api.ApiApplicationTests.html
    │   │           ├── css
    │   │           │   ├── base-style.css
    │   │           │   └── style.css
    │   │           ├── index.html
    │   │           ├── js
    │   │           │   └── report.js
    │   │           └── packages
    │   │               └── com.example.api.html
    │   ├── resources
    │   │   └── main
    │   │       ├── application.properties
    │   │       ├── static
    │   │       └── templates
    │   ├── test-results
    │   │   └── test
    │   │       ├── TEST-com.example.api.ApiApplicationTests.xml
    │   │       └── binary
    │   │           ├── output.bin
    │   │           ├── output.bin.idx
    │   │           └── results.bin
    │   └── tmp
    │       ├── bootJar
    │       │   └── MANIFEST.MF
    │       ├── compileJava
    │       └── compileTestJava
    ├── build.gradle
    ├── gradle
    │   └── wrapper
    │       ├── gradle-wrapper.jar
    │       └── gradle-wrapper.properties
    ├── gradlew
    ├── gradlew.bat
    ├── settings.gradle
    └── src
        ├── main
        │   ├── java
        │   │   └── com
        │   │       └── example
        │   │           └── api
        │   │               └── ApiApplication.java
        │   └── resources
        │       ├── application.properties
        │       ├── static
        │       └── templates
        └── test
            └── java
                └── com
                    └── example
                        └── api
                            └── ApiApplicationTests.java

Verfahren

1. Erstellen Sie docker-compose.yml

Diesmal ist es eine einfache Konfiguration mit nur einem Java-Container.

docker-compose.yml


version: '3.6'
services:
  java:
    image: openjdk:14-slim
    ports:
      - 8080:8080
    tty: true
    volumes:
      - ./server:/srv:cached
    working_dir: /srv

2. Erstellen Sie ein Gradle-Projekt

2.1 Erstellen Sie eine Gradle-Projektvorlage mit spring initializr. スクリーンショット 2020-07-10 11.37.29.png

2.2 Laden Sie die Gradle-Projektvorlage herunter スクリーンショット 2020-07-10 11.43.22.png

2.3 Zum Projekt erweitern Erstellen Sie ein Serververzeichnis direkt unter dem Projektverzeichnis. Extrahieren Sie die in 2.2 heruntergeladene Datei "api.zip" und verschieben Sie den Inhalt direkt unter den "Server".

3. Bearbeiten Sie die Anwendungsdatei

Bearbeiten Sie server / src / main / java / com / example / api / ApiApplication.java wie folgt.

server/src/main/java/com/example/api/ApiApplication.java


package com.example.api;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class ApiApplication {

    @RequestMapping("/")
    public String home() {
        return "Hello World";
    }

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }

}

4. Starten Sie Docker

//Docker-Umgebung erstellen
% docker-compose build

//Starten Sie Docker im Hintergrund
% docker-compose up -d

5. Gradle erstellen

//Inspektion am Java-Container
% docker-compose exec java bash

//Gradle bauen
root@62acca270468:/srv# sh gradlew build
...
BUILD SUCCESSFUL in 1m 38s
5 actionable tasks: 3 executed, 2 up-to-date

Stellen Sie sicher, dass das Verzeichnis "build" direkt unter dem "Server" erstellt wird.

6. Führen Sie die Anwendung aus

root@62acca270468:/srv# java -jar build/libs/api-0.0.1-SNAPSHOT.jar

7. Funktionsprüfung

Greifen wir auf http: // localhost: 8080 / zu. Wenn "Hallo Welt" angezeigt wird, ist dies erfolgreich.

Referenz

Recommended Posts

Aufbau der Docker x Spring Boot-Umgebung
[Spring Boot] Umgebungskonstruktion (macOS)
[Frühling] Umweltbau
◆ Konstruktionsnotiz für Spring Boot + Gradle-Umgebung
Erstellen einer Datenbankumgebung mit Docker in Spring Boot (IntellJ)
Aufbau der Rails Docker-Umgebung
Spring Boot Umgebungskonstruktionsnotiz auf Mac
Spring Boot Entwicklung-Entwicklungsumgebung-
Versuchen Sie Spring Boot 1 (Umgebungskonstruktion ~ Tomcat-Start)
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Konstruktionsnotiz für die MySQL 5.7 (Docker) -Umgebung
Redmine (Docker) Umgebungskonstruktionsnotiz
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
[Docker] postgres, pgadmin4-Umgebungskonstruktion
Frühling × Docker
Erstellen Sie die Node.js-Umgebung mit Docker Compose
Umgebungsbau mit Docker für Anfänger
Konstruktion der Laravel + Docker Laradock-Nutzungsumgebung
Konstruktionsverfahren für Rails on Docker-Umgebungen
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Erstellen einer Spring Boot-Entwicklungsumgebung in Vagrant
SQL-Anweisungslernen ~ Umgebungskonstruktion ~ Docker + MySQL
Aufbau einer GPU-Umgebung mit Docker [Version Oktober 2020]
Schienenumgebungskonstruktion mit Docker (persönliche Apokalypse)
Aufbau einer Laravel-Entwicklungsumgebung mit Docker (Mac)
[Java] Umgebungskonstruktion
Erstellen Sie mit Docker eine Spring Boot-gradle-mysql-Entwicklungsumgebung
[Docker] Entwicklung der Entwicklungsumgebung Rails6 / Ruby2.7 / MySQL8
Erstellen einer Umgebung für Laravel + MySQL + phpMyadmin mit Docker
Spring Boot Denken Sie daran
gae + frühlingsstiefel
[Umgebungskonstruktion] Spring Tool Suite 4-Installation (Mac)
Informationen zum Entwerfen einer Spring Boot- und Unit-Test-Umgebung
Erstellen einer Kaggle-Umgebung mit offiziellem Docker und vscode
So verkleinern Sie das Spring Boot Docker-Image
Konstruktionsverfahren für die JAVA + STS-Umgebung (Spring Tool Suite)
Erstellen Sie mit Gradle Spring Boot-Projekte nach Umgebung
Aufbau einer IntelliJ + Docker (APP + DB) + SpringBoot (Maven) -Umgebung
Erstellen Sie eine Spring Boot-Umgebung mit Windows + VS-Code
Konstruktionsverfahren für LINE Bot x Java (Spring Boot)
Konstruktions- und Entwicklungsverfahren für lokale WordPress-Umgebungen mit Docker
Aufbau der Penronse-Umgebung [Windows]
SPRING BOOT Lernaufzeichnung 01
Frühlingsstiefel + Heroku Postgres
[Flattern] Ubuntu 20.04 Umgebungskonstruktion
Schreiben von Frühlingsstiefel-Memos (1)
Erster Frühlingsstiefel (DI)
SPRING BOOT Lernprotokoll 02
Spring Boot-Ausnahmebehandlung