Maison > Java > javaDidacticiel > le corps du texte

Comment publier un projet Springboot à l'aide de l'image docker-compose

王林
Libérer: 2023-05-11 10:13:05
avant
1160 Les gens l'ont consulté

Introduction

Le projet Docker-Compose est le projet open source officiel de Docker, responsable de l'orchestration rapide des clusters de conteneurs Docker. Compose permet aux utilisateurs de définir un ensemble de conteneurs d'applications associés en tant que projet via un fichier modèle docker-compose.yml distinct (format YAML). Le projet Docker-Compose est écrit en Python et appelle l'API fournie par le service Docker pour gérer les conteneurs. Par conséquent, tant que la plate-forme sur laquelle vous travaillez prend en charge l'API Docker, vous pouvez utiliser Compose pour la gestion de l'orchestration.

Docker-Compose divise les conteneurs gérés en trois couches, à savoir le projet, le service et le conteneur. Tous les fichiers du répertoire d'exécution Docker-Compose (docker-compose.yml, fichiers d'extension ou fichiers de variables d'environnement, etc.) forment un projet S'il n'y a pas de spécification particulière, le nom du projet est le nom du répertoire actuel. Un projet peut contenir plusieurs services, et chaque service définit l'image, les paramètres et les dépendances du conteneur à exécuter. Un service peut inclure plusieurs instances de conteneur. Docker-Compose ne résout pas le problème de l'équilibrage de charge, d'autres outils sont donc nécessaires pour réaliser la découverte de services et l'équilibrage de charge.

Le fichier de configuration du projet par défaut de Docker-Compose est docker-compose.yml. Le fichier de configuration peut être personnalisé via la variable d'environnement COMPOSE_FILE ou le paramètre -f, qui définit plusieurs services dépendants et chaque conteneur. le service s'exécute.
L'utilisation d'un fichier modèle Dockerfile permet aux utilisateurs de définir facilement un conteneur d'application distinct. Au travail, nous rencontrons souvent des situations dans lesquelles plusieurs conteneurs doivent coopérer les uns avec les autres pour accomplir une certaine tâche. Par exemple, pour implémenter un projet Web, en plus du conteneur de service Web lui-même, il est souvent nécessaire d'ajouter un conteneur de service de base de données back-end et même un conteneur d'équilibrage de charge.

Commandes communes

docker-compose
Copier après la connexion

Introduction

La fonction de Compose est de "définir et exécuter des applications de plusieurs conteneurs Docker". À l'aide de Compose, vous pouvez configurer les services de votre application dans un fichier de configuration (format yaml), puis utiliser une seule commande pour créer et démarrer tous les services référencés dans la configuration.
Deux concepts importants dans Compose :
• Service : Un conteneur d'application peut en fait inclure plusieurs instances de conteneur exécutant la même image.
• Projet : Une business unit complète constituée d'un ensemble de conteneurs d'applications associés, définis dans le fichier docker-compose.yml.

docker compose étapes d'installation

Télécharger et installer via le lien GitHub Les utilisateurs non-ROOT n'oubliez pas d'ajouter sudo

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Copier après la connexion

Donnez au fichier de téléchargement binaire les autorisations exécutables #🎜 🎜#

sudo chmod +x /usr/local/bin/docker-compose
Copier après la connexion
Vérifiez s'il est installé

docker-compose --version
Copier après la connexion
Désinstallation

S'il est installé en tant que package binaire, supprimez simplement le fichier binaire

rm /usr/local/bin/docker-compose
Copier après la connexion
#🎜🎜 #Structure du répertoire#🎜 🎜#
compose
	docker-compose.yml
	eureka
		Dockerfile
		eureka-server-2.0.2.RELEASE.jar
	user
		Dockerfile
		user-2.0.2.RELEASE.jar
	power
		Dockerfile
		power-2.0.2.RELEASE.jar
Copier après la connexion
Exemple

L'utilisation de Compose est très simple Il vous suffit d'écrire un docker-compose.yml puis d'utiliser la commande docker-compose pour fonctionner. . docker-compose.yml décrit la configuration du conteneur et la commande docker-compose décrit le fonctionnement du conteneur.

1. Utilisons un projet de microservice pour faire un exemple simple. Tout d'abord, créez un répertoire de travail de composition, puis créez un dossier jenkinsTest, placez-y le package exécutable jar et écrivez un fichier Dockerfile. :

jenkins stocke le package jar téléchargé pour les tests



docker-compose.ymlComment publier un projet Springboot à laide de limage docker-compose

version: '3.1'  #这里要指定docker-compose对应的docker版本
services:
  jenkinstest:             #指定服务名
    #image: jenkinstest  #指定镜像名称 小写不然会报错
    build: ./jenkinsTest   #指定Dockfile所在路径
    ports:
      - 8099:8099   #指定端口映射
    expose:
      - 8099  #对外暴露的服务端口
Copier après la connexion
Dockerfile #🎜 🎜#
FROM adoptopenjdk/openjdk8:jdk8u-centos-nightly

#作者
MAINTAINER lkz

# 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效
EXPOSE 8099
 
COPY jenkinsTest.jar 11.jar 
# 在镜像运行为容器后执行的命令
ENTRYPOINT ["java","-jar","11.jar"]
Copier après la connexion

Pour démarrer le microservice, vous pouvez ajouter le paramètre -d pour démarrer en arrière-plan

docker-compose up -d
Copier après la connexion

Utiliser Docker Compose pour orchestrer Microservices SpringCloud# 🎜🎜#

Configuration comme ci-dessusComment publier un projet Springboot à laide de limage docker-composeModifier le fichier docker-compose.yml

version: '3.3'
services:
  eureka:
    image: eureka:v1  #指定镜像名称
    build: ./eureka   #指定Dockfile所在路径
    ports:
     - 8080:8080
  user:
    image: user:v1
    build: ./user #指定Dockfile所在路径
    ports:
     - 8081:8081
  power:
    image: power:v1
    build: ./power #指定Dockfile所在路径
    ports:
     - 8082:8082
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal