[JAVA] Démarrage Docker + Spring-boot

introduction

Ces jours-ci, je touche Java ou Spring. Au fait, j'ai décidé de l'exécuter avec Docker, je vais donc le configurer.

supposition

Vous pouvez utiliser Docker. La méthode de réglage est omise.

environnement

Paramètres Java (Spring boot)

Téléchargement du modèle

Créez un modèle précis avec Spring Initializr. J'ai précisé ce qui suit. Je pense que tout va bien si ce n'est pas écrit.

article Contenu
Project Gradle project
Language Java
Spring boot 2.2.0(SNAPSHOT)
packaging jar
Java version 11
Dependencies Lombok,Web

Une petite rénovation d'application

Cela fonctionne tel quel, mais cela ne fonctionne que, donc je vais apporter quelques modifications mineures. Le contenu est juste pour pouvoir renvoyer une réponse. Commencez par créer ʻIndexController.java` dans la même ligne que la classe générée automatiquement. Le contenu du fichier créé est le suivant.

$ touch src/main/java/...(package)/IndexContoroller.java
package hoge;

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

@RestController
public class IndexController {

    @GetMapping("index")
    public String getIndexPage() {
        return "Hello World!";
    }
}

Paramètres de Docker

J'écrirai Dockerfile de différentes manières. J'ai l'impression de l'avoir vérifié. Tout le monde l'a construit localement, puis l'a exécuté sur Docker. Je veux tout faire avec Docker, alors copiez les fichiers nécessaires et construisez et exécutez. Je pense qu'il vaut mieux ne pas frapper COPY à plusieurs reprises comme ça, mais je ne sais pas comment y faire face, donc je le ferai une fois.

Dockerfile

FROM openjdk:latest

RUN mkdir /app
WORKDIR /app
COPY ./gradlew /app
COPY ./build.gradle /app
COPY ./settings.gradle /app
COPY ./src /app/src
COPY ./gradle /app/gradle
ENTRYPOINT ["sh", "./gradlew", "bootRun"]

Courir

Je suis prêt, alors je vais essayer. Ce n'est pas grave si vous frappez du local et obtenez une réponse appropriée.

$ docker build -t spring-docker ./
#Spring démarre sur le port 8080, réglez-le donc sur 3000 localement
$ docker run -p 3000:8080 spring-docker

S'il démarre sans problème, vérifiez-le avec curl. C'est OK si cela devient comme suit.

$ curl localhost:3000/index
  Hello World!

Résumé

Cette fois, j'ai défini Docker + Spring boot. C'était plus facile que ce à quoi je m'attendais, et je veux toucher Java pour la première fois depuis un certain temps, donc je veux faire quelque chose d'un peu plus. Comme je l'ai écrit ci-dessus, je me demande s'il sera construit sur Docker de manière inattendue. .. .. C'est tout pour aujourd'hui.

Recommended Posts

Démarrage Docker + Spring-boot
docker
La base de données de test Docker ne démarre pas
[Linux] Démarrer le conteneur Apache avec Docker
Comment démarrer Camunda avec Docker
mémo docker
printemps × docker
À propos de Docker
Docker Intellij
Principes de base de Docker
Le conteneur MySQL ne démarre pas dans Docker
[Docker] Démarrez le conteneur dès que possible
[Docker] Démarrez le conteneur, démarrez bash à l'intérieur du conteneur, supprimez l'image
Comprendre Docker
Mémorandum Docker
Eclipse - Springboot
Construction de docker multi-projets à l'aide de jib
Eclipse - Springboot
Rendre l'environnement SpringBoot1.5 + Gradle4.4 + Java8 + Docker compatible avec Java11
Démarrez SQL Server avec Docker et enregistrez les données initiales
Construction de l'environnement IntelliJ + Docker (APP + DB) + SpringBoot (Maven)