Maison >Opération et maintenance >Docker >Comment Docker implémente l'empaquetage

Comment Docker implémente l'empaquetage

WJ
WJoriginal
2020-06-09 16:33:434456parcourir

 Comment Docker implémente l'empaquetage

Comment Docker implémente-t-il l'emballage ?

Termes liés à Docker :

(1) Miroir, conteneur, entrepôt

Caractéristiques de Docker :

(1) . Mots clés : conteneur, standard, isolation.

Pratique de déploiement de Docker :

1. Créez un fichier docker

Faites attention aux hypothèses que j'ai mentionnées : votre package jar ou votre package war Tous. ont été empaquetés avec succès et Docker installé avec succès.

Le contenu du dockerfile est le suivant :

FROM azul/zulu-openjdk:8
VOLUME /home/work/springDemo
ADD springDemo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

FROM : sur quelle image il est basé

VOLUME : vous pouvez monter des dossiers locaux ou des dossiers d'autres conteneurs dans le conteneur

ADD : copiez le fichier cbce1a3cf2f839037583dce8e845670b dans le chemin correspondant au système de fichiers du conteneur 6be58d1426a577c69ada50a4bc87dd69

RUN : la commande RUN exécutera toute commande légale dans l'image actuelle et soumettre les résultats de l'exécution. Une fois l'exécution de la commande soumise, l'instruction suivante dans le Dockerfile sera automatiquement exécutée

ENTRYPOINT : La commande exécutée au démarrage du conteneur, mais il ne peut y avoir qu'une seule commande ENTRYPOINT dans un Dockerfile s'il y en a plusieurs. , seul le dernier sera exécuté.

Focus : L'emplacement du fichier dockerfile et du package jar ou du package war

Remarque : Le fichier Dockerfile nouvellement créé doit être dans le même dossier que le fichier jar. .

  2. Génération du package Jar

Vous pourriez être confus lorsque vous voyez le package .jar dans l'image ci-dessus. Comment ce package est-il généré ? Jetons un coup d'œil à la manière dont ce package est généré.

Depuis que j'ai construit le projet via maven, je l'ai également construit via maven. Bien sûr, le principe est toujours que maven est installé dans votre environnement. Jetons un coup d'œil aux captures d'écran pour l'opération spécifique.

Après les opérations ci-dessus, le package jar est construit.

  3. Générer une image

  Description de la commande Shell : Le point clé est que vous devez accéder au dossier où le Dockerfile et le package jar ou le package war sont stockés.

Commande : sudo docker build -t springbootdemo .

Remarque : Le . après la commande doit être apporté.

Je ne me souviens pas de la signification du paramètre -t Vous pouvez voir l'explication des fonctions associées via sudo docker build --help. springbootdemo est le nom de l'image de la build.

Les opérations ci-dessus terminent la création de l'image Docker. Vérifiez si l'image est créée avec succès, commande : sudo docker images , vous pouvez voir que springbootdemo est l'image qui vient d'être créée.

4. Démarrez le conteneur

Les conteneurs sont en fait équivalents aux supports miroirs.

Capture d'écran de la commande de démarrage du conteneur :

Commande de démarrage : sudo docker run -d -p 8080:8080 springbootdemo

J'ai aussi oublié la signification des paramètres de -d -p, vous pouvez le vérifier dehors. 8080 : 8080 est un mappage de port. Sa logique et ses principes spécifiques, je vous suggère d'apprendre Docker et de regarder de plus près springbootdemo est le fichier image que j'ai mentionné ci-dessus.

Affichez les conteneurs actuellement en cours d'exécution : sudo docker ps

, si votre package jar ou votre package war est un programme Web comme le mien, vous pouvez le tester via le navigateur. Recommandations associées :

tutoriel Docker

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!

Déclaration:
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