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.
Vous pouvez utiliser Docker. La méthode de réglage est omise.
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 |
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!";
}
}
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"]
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!
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