Récemment, je n'ai pas eu l'occasion de créer la source à partir de zéro pour la maintenance et la création de documents, et j'ai tendance à oublier les bases.
À ce moment-là, j'ai regardé cette vidéo.
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
Le contenu de la vidéo est très facile à comprendre, et au fait, je me suis souvenu que je ne l'avais jamais fait à partir de zéro, alors j'ai effectué des travaux de construction pour étudier.
Exécutez l'application Springboot sur le conteneur Docker. Rendez-le accessible de l'extérieur avec l'API Rest.
Autorisez Docker à s'exécuter dans un environnement Windows.
Peut être téléchargé à partir de ce fonctionnaire https://hub.docker.com/editions/community/docker-ce-desktop-windows Démarrez [Docker Desktop Installer.exe] et suivez la procédure
Commencez par redémarrer après le programme d'installation
Ajoutez les proxys suivants au fichier ~ / .docker / config.json.
{
"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"
}
}
}
<Référence> https://docs.docker.com/network/proxy/
○ Créer un projet Spring Boot https://start.spring.io/
Ajout du référentiel de repos à la dépendance pour créer RestAPI.
Après avoir effectué les réglages, appuyez sur le bouton GÉNÉRER pour télécharger le fichier ZIP.
Créez un package de contrôleur sous poc.dockerspringboot et créez un exemple de fichier
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";
}
}
Effectuer une installation propre mvn
Créer un Dockerfile directement sous le projet
FROM adoptopenjdk:11-jre-openj9
ADD target/docker-springboot.jar docker-springboot.jar
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "docker-springboot.jar"]
Dans OpenJDK, utilisez adoptopenjdk qui peut être utilisé à des fins commerciales. https://hub.docker.com/_/adoptopenjdk
Ajoutez le module généré à Docker. Un module est créé sous target, mais comme le nom de fichier de jar est long, spécifiez le nom de sortie avec [finalName].
<build>
<finalName>docker-springboot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Référence: informations de configuration de Spring-boot-maven-plugin https://spring.pleiades.io/spring-boot/docs/current/maven-plugin/reference/html/
Spécifiez le port que vous souhaitez ouvrir dans le conteneur Docker
À l'intérieur du conteneur, le port par défaut au démarrage de spring-boot est 8080 Si vous souhaitez modifier cette valeur, ajoutez server.port = 8082 etc. à application.properties
Au démarrage de Docker, le port démarré en interne et le port ouvert vers l'extérieur sont liés.
Démarrez le module avec la commande jar. En exécutant cette commande, le serveur intégré (Tomcat) démarre et accepte l'accès.
#Création d'image
docker build -f Dockerfile -t docker-spring-boot .
#Confirmation de création
docker images
#Démarrage du conteneur
docker run -p 8081:8080 docker-spring-boot
http://localhost:8081/rest/message/helloWorldOnDocker
Il n'y a pas de nouvelles découvertes techniques, mais parfois faire ce genre de travail me libère l'esprit. Décrit à titre indicatif pour pouvoir être transféré plus tard
Recommended Posts