Avec le développement du cloud computing et de la technologie des conteneurs, ainsi que la popularité de l'architecture de microservices, de nombreuses entreprises ont commencé à utiliser des technologies de conteneurisation telles que Docker pour déployer des microservices. En tant que framework de microservices populaire, Spring Cloud évolue également progressivement vers la conteneurisation. Cet article présentera la pratique de la conteneurisation des microservices Spring Cloud.
1. Dockeriser les microservices Spring Boot
Tout d'abord, nous devons Dockeriser les microservices Spring Boot. Tout d’abord, nous devons écrire le Dockerfile. Voici un exemple simple de Dockerfile :
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
Dans ce Dockerfile, nous créons une image Docker basée sur OpenJDK 8, puis définissons un répertoire VOLUME et utilisons l'instruction ARG pour spécifier le chemin d'accès au package JAR. Enfin, nous copierons le package JAR dans le conteneur et spécifierons la commande ENTRYPOINT pour démarrer le microservice Spring Boot.
Ensuite, créez l'image Docker (en supposant que notre application Spring Boot s'appelle sample-microservice) à l'aide de la commande suivante :
docker build -t sample-microservice:1.0 .
Ensuite, nous pouvons exécuter le conteneur Docker à l'aide de la commande suivante :
docker run -p 8080:8080 sample-microservice:1.0
Ce sera sur l'hôte local Démarrez notre microservice Spring Boot sur le port 8080.
2. Utilisez Docker Compose pour déployer les microservices Spring Cloud
Docker Compose est un très bon outil qui peut facilement définir et déployer plusieurs conteneurs Docker. Ensuite, nous utiliserons Docker Compose pour déployer nos microservices Spring Cloud.
Tout d'abord, nous devons écrire le fichier docker-compose.yml. Dans ce fichier, nous devons définir l'image Docker, le port et les dépendances de chaque microservice. Voici un exemple de fichier docker-compose.yml simple :
version: '3' services: eureka-server: image: springcloud/eureka-server ports: - "8761:8761" sample-microservice: image: sample-microservice:1.0 ports: - "8080:8080" depends_on: - eureka-server environment: - EUREKA_SERVER=http://eureka-server:8761/eureka/
Dans ce fichier docker-compose.yml, nous définissons deux services : Eureka Server et Sample Microservice. Eureka Server est le centre d'enregistrement des microservices Spring Cloud. Nous utilisons l'image springcloud/eureka-server fournie par le site officiel de Spring Cloud. Sample Microservice est notre précédent microservice Dockerized Spring Boot, avec le port 8080. Nous avons également défini une variable d'environnement EUREKA_SERVER, pointant vers l'adresse du serveur Eureka.
Ensuite, utilisez la commande suivante pour démarrer Docker Compose :
docker-compose up
Cela démarrera et connectera automatiquement le serveur Eureka et l'échantillon de microservice. Nous pouvons arrêter et supprimer Docker Compose à l'aide des commandes suivantes :
docker-compose down
Résumé
Avec les étapes ci-dessus, nous pouvons facilement déployer nos microservices Spring Cloud à l'aide de Docker et Docker Compose. La conteneurisation rend nos microservices plus faciles à gérer et à déployer, et peuvent facilement s'exécuter dans différents environnements. De plus, l'utilisation de Docker Compose vous permet de créer des liens et des dépendances entre différents conteneurs. J'espère que cet article pourra vous aider à mieux comprendre et pratiquer la conteneurisation des microservices Spring Cloud.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!