Exécuter des microservices sur Docker

 Pour exécuter des microservices sur Docker, transformez d'abord le service en miroir, puis poussez le miroir vers un entrepôt public ou un entrepôt privé (étape facultative), et enfin utilisez notre miroir de la même manière que les autres miroirs.
 Cet article présente trois manières d'exécuter des microservices sur Docker : 1) via Dockerfile ; 2) via le plug-in maven ; 3) via Docker Compose 1. Dockerfile Dockerfile est un fichier texte qui contient plusieurs instructions et descriptions d'instructions Pour les détails de
la
 construction l'image, placez le package de déploiement et le Dockerfile dans le même répertoire et utilisez la commande docker build pour mettre en miroir tout le contenu du répertoire où se trouve le Dockerfile en fonction des informations configurées dans le Dockerfile.
1. Instruction Dockerfile
 1) FROM : Spécifiez l'image de base, qui doit être placée avant toutes les instructions, indiquant que l'image actuelle est héritée de l'image de base FROM.

FROM <image>
FROM <image>:<tag>
例如:FROM java:8

 2) AJOUTER : Copier les fichiers : Copiez les fichiers du répertoire Dockerfile dans les fichiers de l'image générée

ADD <src> <dest>
例如:ADD test.jar a.jar

 3) COPY : copier des fichiers, ne prend pas en charge la copie d'URL et de packages compressés

COPY <src> <dest>

 4) ENV : Définir les variables d'environnement

ENV <key> <value>
ENV <key>=<value>
例如:ENV JAVA_HOME /path/to/java

 5) ARG : définir les paramètres de construction, c'est-à-dire les variables d'environnement au moment de la construction, ces variables n'existeront pas lorsque le conteneur est en cours d'exécution

ARG <name>=<value>
例如:ARG name=houzigege

 6) ENTRYPOINT : point d'entrée, identique à la commande CMD, et il y en a plusieurs, seul le dernier est exécuté

ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2    #在shell中执行
例如:ENTRYPOINT ["java", "-jar", "a.jar"]

 7) CMD : la commande exécutée au démarrage du conteneur, seul le dernier de plusieurs CMD est exécuté

CMD ["executable", "param1", "param2"]
CMD["param1", "param2"]      #为ENTRYPOINT指令提供预设参数
CMD command param1 param2    #在shell中执行
例如:CMD echo "this is show when contaniner is starting"

 8) RUN : exécuter la commande

RUN <command>
RUN  ["executable", "param1", "param2"]
例如:["/bin/bash", "-c", "echo hello"]

 9) VOLUME : spécifiez le point de montage. Cette commande permet à un répertoire du conteneur d'avoir une fonction de stockage persistant. Ce répertoire peut être utilisé par le conteneur lui-même ou partagé avec d'autres conteneurs.

VOLUME /path

 10) WORKDIR : Spécifiez le répertoire de travail, RUN, CMD, ENTRYPOINT écrit après cette commande prendra ce répertoire comme répertoire courant et exécutera la commande correspondante

WORKDIR /path/workdir

 11) EXPOSE : il est utilisé pour déclarer le port sur lequel le conteneur fournit des services au moment de l'exécution. Il s'agit simplement d'une déclaration, et sa fonction est d'aider les utilisateurs du miroir à comprendre le port gardien du service miroir.

EXPOSE port1
EXPOSE port1 port2 port3

 12) MAINTAINER : Spécifiez les informations du responsable pour signer le Dockerfile

MAINTAINER 猴子哥哥

 13) USER : définissez l'utilisateur, l'utilisateur ou l'UID utilisé pour démarrer le miroir

USER 用户名

 14) LABEL : Ajoutez des métadonnées à l'image, des données descriptives

LABEL <name>=<value>

2. Créez une image miroir
 1) Créez un Dockerfile, reportez-vous aux instructions requises dans 1
 2) Placez le package jar dans le répertoire où se trouve le Dockerfile
 3) commande docker build

docker build -t 仓库名称/镜像名称:标签 .

 Remarque : parmi eux, indique la
 commande de renommage de l'image du répertoire en cours

docker tag 原镜像名:原标签 新镜像名:新标签

3. Pousser vers l'entrepôt privé
1) Connexion

docker login ip:port
输入用户名密码

2) Poussez vers l'entrepôt

docker push image:tag

Remarque : Le format du nom d'image de push doit respecter

ip:port/{project_name}/image:tag

2. Utilisez le plugin Maven pour créer une image Docker
// TODO

3. Utilisez Docker Compose pour organiser les microservices
// TODO

Pour afficher les commandes de base de Docker, veuillez vous référer à : https://blog.csdn.net/qq_21033663/article/details/84963204

Référence : "Spring Cloud et Docker Microservice Architecture Combat"

Je suppose que tu aimes

Origine blog.csdn.net/qq_21033663/article/details/104709428
conseillé
Classement