‫D'accord. Ce sont les réponses pour la tâche de créer notre premier fichier Docker. Si je suis à la
‫racine de notre référentiel, que vous avez téléchargé depuis le début de ce cours,
‫nous devrions pouvoir passer à l’affectation du fichier de dock 1. Si nous regardons là-dedans, je n'ai qu'un seul
‫fichier qui me tient à coeur, c'est le fichier Docker.
‫Vraisemblablement, c'est une source que quelqu'un m'a donnée, et c'est un développeur d'application qui utilise Node. js, et je ne sais pas grand-chose à
‫ce sujet, je vais donc éditer le fichier Dockerfile.
‫D'ACCORD.
‫Si je suis les instructions du développeur, je sais que la première chose à faire
‫est de me procurer mon image FROM. Et je sais que je dois utiliser le noeud officiel. Laisse-moi aller le chercher.
‫Droite. Il y a le nœud officiel.
‫J'ai besoin de la version 6 sous Alpine. Donc, il y a 6 Alpine.
‫D'accord. Donc, 6-alpin.
‫D'accord. La chose suivante... J'ai besoin d'exposer le port 3000.
‫J'expose 3000 ici parce que c'est ce que l'application est conçue pour fonctionner.
‫Mais lorsque je l'exécute plus tard avec l'exécution de docker, je dois me rappeler que je vais devoir
‫utiliser l'option -p avec le port 80 pour accéder au port 3000.
‫D'accord.
‫Celui-ci doit utiliser un gestionnaire de paquets pour
‫installer cette application, tini. Je vais utiliser une commande d'exécution pour cela.
‫Ensuite, je vais faire un répertoire.
‫D'accord.
‫Je vais juste leur faire séparer les commandes d'exécution ... exécutez apk
‫add, puis exécutez mkdir.
‫D'ACCORD. Ensuite, je dois copier dans un seul fichier, il ressemble.
‫Donc, je pourrais aussi bien changer le répertoire de travail en ce répertoire que nous venons de créer.
‫Donc, l'application source d'utilisateur WORKDIR. Cela me fera gagner du temps plus tard.
‫Je peux faire un paquet de copie json
‫package json. D'accord. Ensuite, je dois exécuter une commande d'installation. On dirait que ça va être une course. Celui-ci dit exécutez une autre
‫commande pour nettoyer.
‫D'accord.
‫Habituellement, lorsque vous exécutez une commande de nettoyage, vous souhaitez que celle-ci exécute la même ligne ou la même ligne d'exécution que
‫l'installation réelle.
‫De cette façon, tout est supprimé en même temps et vous obtenez un seul calque d'image.
‫C'est le meilleur pour l'espace d'image.
‫Donc, je vais l'ajouter ici.
‫Et ce que le double et le signe, ou l'esperluette comme on l'appelle, fait que c'est en fait une condition.
‫Sur la ligne de commande sous Linux, il est écrit: 'Hé, si vous avez exécuté la première et que l'opération a abouti, exécutez
‫la deuxième commande. «Vous
‫pouvez également voir des gens mettre parfois un point-virgule, et c'est bien aussi.
‫La différence est qu'un point-virgule ne dépend pas de la réussite ou non de la première commande.
‫Il ne fait que lancer le second quand même.
‫Donc, j'aime la double esperluette.
‫D'accord.
‫Copier quelques fichiers supplémentaires, ça ressemble. Si je vais tout copier, je vais juste faire un .. C'est un moyen facile de le faire.
‫Assurez-vous qu'il y a un espace au milieu.
‫En gros, vous
‫dites: 'Copier tout le contenu de mon répertoire actuel sur l'hôte vers le répertoire de travail actuel dans l'image. ' D'ACCORD.
‫Je suis au dernier.
‫Et celui-ci a l'air un peu délicat.
‫J'ai quatre parties différentes de la commande à exécuter.
‫Donc, avec ce format, je dois exécuter tini, puis une virgule.
‫Donc, ceci est dans un format JSON.
‫Cette strophe de commande particulière. -, noeud bin www.
‫Et si j'étais curieux à ce sujet,
‫je pourrais toujours aller sur mon navigateur et faire docker run ou docker build cmd.
‫Et je vous parie référence Dockerfile. Et ici
‫sur cette page, je pourrais aller au cmd. Et cela parle de la forme exacte. Si vous lisez ici, vous remarquerez en
‫fait qu'il existe quelque chose appelé un formulaire shell. Et il y a aussi quelque chose qu'ils mentionnent
‫à propos d'un point d'entrée.
‫Nous en reparlerons plus tard au cours d'une section plus avancée de Dockerfile.
‫Mais pour l'instant, c'est bien.
‫Essayons de le construire. docker construire. Je me fiche de ce que j'appelle maintenant.
‫J'essaie juste de tester la construction et généralement mes versions ne fonctionnent pas la première fois. Donc, je
‫vais juste l'appeler testnode. Je vais construire ce répertoire.
‫D'ACCORD.
‫On dirait qu'il a été construit correctement.
‫Voyons si vous pouvez l'exécuter.
‫Je vais faire un essai parce
‫que je ne tiens vraiment pas à le garder après l'avoir testé, alors je vais simplement le faire.
‫Je ne vais pas avoir besoin de le nommer.
‫J'ai besoin de mettre dans un port pour ouvrir le port. Il veut fonctionner sur 80 mais il écoute sur 3000. D'ACCORD.
‫C'est en fait un message normal que nous
‫recevons de tini, à l'intérieur d'Alpine, donc je ne m'inquiéterai pas trop pour cela.
‫Allons voir si ça marche.
‫Sucré. Nous verrons les journaux ici.
‫D'ACCORD.
‫On dirait que c'est ..
‫merci capitaine Picard.
‫J'apprécie les applaudissements.
‫J'apprécie le soutien.
‫Merci.
‫D'accord.
‫Contrôle c hors de là. Maintenant, il devrait
‫être en haut de ma liste d'images.
‫Je dois le renommer avant de le mettre sur Docker Hub.
‫Donc, docker tag, et je crois que le format est l'ancien et le nouveau. Ouais.
‫Donc, tag docker testnode.
‫Je vais l'appeler
‫nœud de test de pêcheur.
‫Et je vais juste le laisser au plus tard.
‫Alors, docker push, et ça. Tout ce dont nous devons nous préoccuper, c’est le nom. Donc, docker
‫push nœud de test Bretfisher.
‫D'accord. Allons voir Docker et regarde.
‫Nous y voilà, testons le noeud.
‫D'ACCORD.
‫Je vais effacer l'écran et l'image du menu fixe ls.
‫Et c'est là. Je vais l'enlever, test de docker image
‫rm bretfisher.
‫D'accord. Maintenant, je vais en fait l'exécuter, le conteneur Docker lance --rm -p
‫80 3000 comme avant.
‫Ensuite, je vais en fait appeler cela le nœud d’essai des pionniers.
‫Cela devrait le télécharger et l'exécuter.
‫D'accord.
‫Si je reviens sur mon navigateur, localhost, le voilà. Je peux appuyer sur rafraîchir juste pour m'assurer.
‫Oui. Cool.