Docker et Docker Compose - Déploiement de projets à partir de zéro | Oleksandr Kocherhin | Skillshare

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Docker et Docker Compose - Déploiement de projets à partir de zéro

teacher avatar Oleksandr Kocherhin

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction

      1:17

    • 2.

      Pourquoi avez-vous besoin de docker? ?

      6:37

    • 3.

      Planifier notre candidature

      8:40

    • 4.

      Installation des outils

      3:33

    • 5.

      Créer un fichier de docker

      10:35

    • 6.

      Créer une application d'api

      6:58

    • 7.

      Préparer l'image d'api

      8:48

    • 8.

      Serveur d'api de départ

      6:28

    • 9.

      Pôle de Docker

      7:01

    • 10.

      Variables d'environnement

      9:29

    • 11.

      Ajouter une base de données

      17:35

    • 12.

      Réaliser des demandes de base

      11:48

    • 13.

      Volumes

      19:15

    • 14.

      Service Auth

      12:30

    • 15.

      Service de bordure

      11:43

    • 16.

      La conception de la conception

      11:51

    • 17.

      Docker

      4:56

    • 18.

      Configuration de nginx

      16:17

    • 19.

      Demandes d'api

      14:53

    • 20.

      Réseau de Docker

      11:58

    • 21.

      Proxy frontal

      15:12

    • 22.

      Dernière mise à disposition

      14:30

    • 23.

      Fais-le vous. Envoi

      2:42

    • 24.

      Pousser pour gout

      6:05

    • 25.

      Configuration du serveur de production

      8:14

    • 26.

      Déploiement du projet

      10:13

    • 27.

      Nettoyage

      3:38

    • 28.

      Exercice

      1:45

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

552

apprenants

1

projets

À propos de ce cours

Dans ce cours, nous allons créer un exemple d'application réelle en utilisant Docker et Docker Compose. Ce cours est entièrement axé sur la plongée rapide et profonde dans la création de véritables applications avec Docker et Docker Compose. Nous allons commencer à partir de zéro, et vous vous rapprocherez étape par étape, de l'application réelle finale, qui convient à la réalisation locale et à la mise en place facile. Vous comprendrez parfaitement comment structurer votre application, créer des fichiers de configuration pour Docker et diviser les fichiers de configuration. Nous allons rédiger des codes de manière efficace pour les rendre purs et éviter la complexité.

Pour chaque leçon, vous obtiendrez le code source de la leçon. Il est donc facile de voir les progrès et d'obtenir une application de travail sur toutes les leçons que vous souhaitez.

À la fin de ce cours, vous serez en mesure de :

  • Développer et déployer des projets avec Docker et Docker Compose
  • Créer de véritables applications avec Docker
  • Apprendre Docker à travers des utilisations réelles

Ce que vous apprendrez dans ce cours :

  • Structurer et configurer les fichiers de configuration et les projets

  • Projet divisé dans les services

  • Comprendre les images/volumes/réseaux/conteneurs

  • Mettre en œuvre un environnement de développement et de production

  • Configurez votre propre serveur et l'application de déploiement (vous devrez payer pour un serveur pour le déploiement ou suivre le cours).

À qui s'adresse ce cours :

  • Ce cours est pour vous si vous souhaitez développer et déployer un projet réel, du début à la fin avec Docker
  • Ce cours s'adresse à tous ceux qui souhaitent apprendre le déploiement is sur un projet réel
  • Ce cours est pour vous si vous souhaitez améliorer vos connaissances en matière de Docker et de Docker Compose

De quelles compétences avez-vous besoin :

  • Un ordinateur sur lequel vous pouvez installer des logiciels (Windows, MacOS, ou Linux)
  • Les compétences de base en matière de linux sont un plus
  • Pour la partie de déploiement, vous aurez besoin de serveur linux pour lequel vous devez normalement payer (et non obligatoire, vous pouvez simplement suivre le cours).

Si vous avez l'impression d'apprendre Docker, mais que vous manquez toujours de connaissances sur la façon de créer votre propre application réelle, ce cours est ce dont vous avez besoin. Ce cours est entièrement axé sur la résolution de vrais problèmes de déploiement et de développement, l'application sans seulement apprendre les possibilités de Docker sec !

Rencontrez votre enseignant·e

Teacher Profile Image

Oleksandr Kocherhin

Enseignant·e

I am a full-stack developer with a passion for learning and teaching what I know. I have been programming for around 10 years and teaching for almost 6 years.

I believe in learning through doing and this philosophy is present in every course that I teach. I love exploring new web & mobile technologies and my courses focus on giving you the edge in our fast-moving industry.

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction: Bienvenue dans mon cours sur le dark and docker-composer. C'est tellement génial de vous avoir ici. Dans ce cours, vous apprendrez comment créer un véritable projet à partir de zéro. Vous n' apprendrez pas seulement certaines caractéristiques du médicament ou de la documentation officielle. Vous verrez dans le véritable exemple qui consiste en cinq microservices, comment nous pouvons améliorer notre développement et notre déploiement locaux. Nous commencerons par le dossier vide et terminerons avec l'application réelle qui sera en cours d'exécution sur notre serveur de production. n'y a pas de choses théoriques à l'intérieur. Vous apprendrez à moins de personnel dont vous avez vraiment besoin pour utiliser Docker et Docker Compose pour vos propres applications telles que des conteneurs, images, des volumes, des réseaux et bien plus encore. À la fin de ce cours, vous serez certainement en mesure de créer vos propres applications de toute complexité à l'aide de docker et de docker compose. Qui suis-je ? Je m'appelle Alexander Cohésion et je suis développeur web, j'ai plus de dix ans d'expérience, ainsi que professeur professionnel avec divers cours sur les technologies Web. J'ai fait de mon mieux pour mettre toutes mes connaissances dans ce cours et je veux les partager avec vous. Bienvenue à bord et commençons. 2. Pourquoi vous avez besoin de do ?: dans le support de thèse. Je veux clarifier pourquoi Darwinian plus sombre. Donc, fondamentalement, la première question est ce qui est DACA Si vous allez sur le site officiel. Je ne pouvais pas me calmer. Il y a un lien y docker et ici vous pouvez lire quelque chose sur le développement avec DACA. Donc, fondamentalement, l'idée principale est que nous développons beaucoup d'EPS aujourd'hui et que ce sont différents frameworks, différents langages, différentes architectures et différents outils, et tout cela augmente la complexité. Et c'est exactement le problème que le locuteur essaie de résoudre. Imaginons juste un cas d'utilisation simple. Par exemple, vous ne créez pas d'application SIG. Donc c'est juste un site web et tu n'as pas de bacon. Aucune acclamation était, par exemple, express. Ensuite, vous avez une base de données, par exemple mongo db, et vous avez un peu avant et disons réagir. Et fondamentalement, peut-être que c'est le petit projet. Donc, ce sont trois choses principales que vous avez besoin de base de données backend et front end. Et le fait est qu'à un moment donné, vous voulez ouvrir votre pied froid dans une autre machine, quel problème allez-vous avoir ? Le premier problème est de se souvenir de toutes les technologies que vous avez utilisées, par exemple, utiliser une version hors nœud, et peut-être que vous avez développé votre projet il y a un an ou deux ans et l'a-t-il mis à jour avec la note récente ? Et puis vous utilisez juste ce projet sur votre machine. Vous installez le dernier nœud, puis rien ne fonctionne parce que fondamentalement, quelque chose est dans. Aucune chaise n'a été changée, ce qui est très bien, mais fondamentalement, nous n'avons regardé aucune version à l'intérieur de notre projet. Et peut-être que nous ne nous souvenons même pas quelle version de nœud ira là. Et la même chose vaut pour tous les outils que vous avez utilisés. Par exemple, il peut être une base de données, puis vous avez installé dans la base de données Cuba, et puis vous devez faire évaluer vos données en quelque sorte parce que la version est différente et cela ne vous donne pas la stabilité de développement. Je pense que si vous regardez les Syriens, vous avez déjà une certaine expérience et des problèmes de compétences, ce qui signifie que vous pouvez travailler dans une équipe et une compagnie, et fondamentalement, normalement quand vous venez à une compagnie, vous devez configurer votre machine. Et je dirais d'après mon expérience dans presque tous parce que c'est vraiment difficile processus, comme vous avez besoin de mettre en place beaucoup de programmes sur votre machine, parfois avec spécifique où Shen est peut-être il y a une entreprise. La documentation comme comment tout installer, mais elle est obsolète. Et puis quelque chose est cassé et vous devez le réparer et demander comme différentes personnes dans la nouvelle entreprise de le mettre en place correctement. Et ça peut prendre 23 jours. Et j'ai eu cette expérience et ils ont vu d'autres personnes se battre. Et puis ce processus se poursuit encore et encore pour chaque nouvelle personne dans une entreprise, et le médecin résout exactement ce problème. Donc, fondamentalement, vous êtes sûr que vous avez froid travaille exactement la même chose là-bas. N' importe quelle machine, ce n'est pas sur les travaux sur ma machine, puis une autre personne peut commencer. C' est comme facile à bord dans quatre développeurs différents, facile à supporter, et vous êtes sûr que votre projet fonctionnera. Je n'ai parlé que du développement, mais qu'en est-il du déploiement ? Disons que nous voulons déplacer notre bout froid le serveur afin qu'il soit accessible sur Internet pour tout le monde. Et c'est comme un processus standard. Nous le faisons avec chaque projet, et fondamentalement il y a toujours des problèmes là-bas, comme vous voulez déployer votre application Jess connue. Vous venez de courir sur le serveur. Vous devez installer non là avec une version spécifique Et que ferez-vous quand vous avez plusieurs projets différents là-bas avec des versions de nœuds différentes ou avec des dépendances différentes  ? Et puis vous avez installé uber dans des outils plus récents, puis peut-être tous les outils dont vous n'avez plus besoin parce que certains projets sont obsolètes. Et puis vous avez juste un gâchis avec différentes bibliothèques, différentes versions. Et tout cela est incontrôlable. Vous vous souvenez peut-être de la façon dont les gens déployaient des projets auparavant,par exemple, avec FTP Klein comme la vile zilla, ils étaient Korpi dans des fichiers du projet directement sur le serveur. Vous vous souvenez peut-être de la façon dont les gens déployaient des projets auparavant, par exemple, avec FTP Klein comme la vile zilla, Alors, bien sûr, les gens ont compris que ce n'est pas évolutif. Différentes personnes peuvent déployer des choses simultanément et ainsi de suite. Et là. Venez sur vous des outils tels que, par exemple, instable ou marionnette, où vous venez de contriter récite ce que vous devez faire pour déployer votre application. Oui, bien sûr, c'est plus facile avec de tels outils, mais cela ne résout pas le problème. Vous voulez avoir un froid stable, qui sera exactement le même partout où nous pouvons démarrer notre code avec une seule commande pour développement localement, et nous pouvons le déployer dans n'importe quelle quantité hors serveurs avec une seule commande et le gérer facilement ? Je ne peux pas le dire queledocteur est une balle d'argent. Bien sûr, ce n'est pas le cas, mais il aborde et résout beaucoup de problèmes pour les petits, moyens et grands projets. Et beaucoup d'entreprises dans le monde entier utilisent docker avec succès et ce n'est vraiment pas le cas . Petit. Le projet est une solution vraiment stable qui a été utilisée de nombreuses années déjà. Dr. Nowadays est un énorme écosystème avec différents produits, services payants, services gratuits, différents outils et ainsi de suite. Et quand j'ai commencé à apprendre, Docker pour moi était la question. Est-ce que DACA résout mes problèmes ? Ce n'était pas comme DACA est nouvelle chose cool go. Ils veulent le tester. Je voulais vraiment résoudre mes problèmes et mon problème waas que je veux un environnement de développement et de production cohérent où il fonctionnera sur n'importe quelle machine de la même manière et je ne me battrai pas et c'est exactement ce que je veux couvrir dans ce cours. Il ne s'agit pas d'apprendre Dhaka du début à la fin et d'apprendre tous les outils qui existent sur Docker. C' est juste pour résoudre le problème hors développement de la consistance localement et déployer dans le projet à la production avec le même steak, facile et sans problèmes. Si vous avez des commentaires ou des questions, hésitez pas à me le poser et je répondrai à coup sûr 3. Planifier notre application: dans cette vidéo. Je veux parler de Dr Tools que nous allons utiliser dans notre application et parler de structure de l'ensemble de l'application. Donc, d'abord, parlons des outils. Les seuls outils supplémentaires que nous allons utiliser à l'exception du médecin lui-même est docker composer. Nous n'utiliserons pas d'autres outils dans le discours à l'ensemble du document lui-même est vraiment bas niveau orteil , donc si nous utilisons parler directement, nous devons écrire beaucoup de commandes différentes. Dans la console était attribut différent, qui parfois il est difficile de se rappeler, et nous voulons utiliser Docker composer comme un simple de rappeur pour DACA qui gère, d'une manière facile, nos conteneurs. Donc, fondamentalement, avec Docker compose, nous pouvons décrire comment tous nos conteneurs seront construits et comment ils se comporteront dans différents environnements. Si vous savez quelque chose sur le DACA. Peut-être que la question est maintenant. Qu' en est-il de la station d'accueil ou des Dockers ? Chaud ou frais ? Burnett l'est, et ainsi de suite. Est-ce que je vais en parler ? La technologie est en cours, et ma réponse est non. Nous allons prendre croustillant et petit avec stock une composition et c'est un outil vraiment sympa, et vous avez juste besoin de ce 'll. Un outil à l'exception de Dhaka lui-même, bien sûr, pour déployer les applications de petite et moyenne taille de mon point de peu, 90% sur Internet peut exister avec des projets sur simple Sarah avec, par exemple, base de données unique et avec démarré avec docker composer, nous pouvons facilement gérer, manger et déployer nos projets et les développer localement. Et puis plus tard, si vous en avez besoin, vous pouvez investir votre temps et votre argent dans des solutions évolutives pour beaucoup de services comme, par exemple, natifs de Cooper et l'améliorer là-bas. Mais normalement, vous êtes dans un autre 10% de rabais sur Internet, et ce cours ne vous suffit pas. Parlons maintenant de notre projet. Fondamentalement, ce n'est pas un projet qu'ils ont juste pensé qui n'existe pas. C' est le projet rial que j'ai développé il n'y a pas si longtemps, donc c'est 100% riel et ça fonctionne vraiment bien en production sans aucun problème. En utilisant Chazz, DACA et Docker composer. J' aime cet exemple parce qu'il montre les possibilités avec Docker composer et est vraiment adapté à la plupart des projets que les gens peuvent développer, ce qui signifie qu'après avoir terminé le discours, vous pouvez utiliser tout ce que nous avons implémenté pour créer votre propre projet. Alors qu'est-ce qu'on a ici ? Nous avons un front et une partie de notre application, ce que nous allons faire en réaction. Fondamentalement, on ne le fera pas. Tout code direct rial, comme la création de l'application entière ou quelque chose comme ça ? Notre idée est que devant, et nous avons juste une application directe qui peut être démarrée. Donc, fondamentalement, ce front et partie est notre premier service et pourquoi nous parlons de services service signifie quelque chose d'isolé, qui signifie que nous pouvons simplement prendre ce seul service, par exemple, avant et développer manger seul si nous voulons pourquoi le service est un bon parce que chaque service est complètement étendu et il peut utiliser différentes technologies dans différents cadres et ainsi de suite. Par exemple, vous pouvez dire, OK, mon premier service avec une tarte est d'utiliser des chaises connues, et mon deuxième service avec le gars utilise le rubis, par exemple, et ils sont complètement isolés et ils fonctionnent simplement dans vos applications simultanément. Ok, donc nos premiers services avant et où nous obtiendrons des données. Fondamentalement, nous avons besoin d'épi. Je qui excès de rouble dans notre front. Et donc j'ai divisé notre tarte en deux services différents. Une tarte est liée aux paiements des utilisateurs et toutes les choses qui sont liées aux utilisateurs. Donc c'est quelque chose comme l'authentification du FBI. Donc, il est seulement lié aux utilisateurs Bien sûr, nous devons stocker quelque part toutes les données de notre A p I. Nous avons donc besoin d'une base de données pour notre service Sud. Je vais dormir. Je service. Donc, fondamentalement, nous avons besoin dans votre service, qui sera un service de base de données. Donc, nous aurons à l'intérieur de la base de données Mongo DB pour notre service d'authentification. Comme je l'ai déjà dit, nous avons un autre jour. Cet empire est moins important. Ceci est lié à toutes les entités que nous avons dans notre application. Donc, fondamentalement, par exemple, poser sur les utilisateurs ou les commentaires ou les catégories, ou je ne sais pas que trois sur les catégories et ainsi de suite. Donc, fondamentalement pas ce truc important. Donc fondamentalement, c'est exactement le point pour lequel je l'ai divisé en différents services, parce que quand je travaille avec cela, une base hors des utilisateurs de paiements, je dois être comme super concentré. Je ne peux pas en faire un jamais là. Mais quand je travaille avec la base de données off, certains trucs pas si importants, comme la mise à jour de la catégorie Et juste quand une catégorie sur le site est cassée, ce n'est pas une grosse affaire. Mais quand le paiement du client est perdu, c'est comme la tragédie. Ok, donc juste pour être clair pour l'instant, j'ai parlé du service de syndication, du service base de données d'authentification AP I et du service de base de données du FBI. Nous avons donc cinq services pour l'instant . Maintenant, un service de plus et c'est le service de Mailer. Fondamentalement, pour moi, c'est le service dont nous avons besoin dans chaque application. Mais peut-être que si vous n'avez pas Malin ou authentification, vous n'en avez pas besoin. Fondamentalement, tout ce qui est lié aux utilisateurs de Malin est en train de le faire là. Donc, en gros, si l'utilisateur est enregistré et qu'il reçoit un e-mail ou qu'il a oublié le passeport, il reçoit un e-mail. C' est ce que fait ce service. Donc, en gros, si vous avez une pièce d'identité masculine, je l'ai déplacée vers un service supplémentaire. Et maintenant un service de plus. Et sans ce service, nous ne pouvons pas partir à coup sûr, et c'est un service n jinx. Fondamentalement, si vous ne savez pas ce qui est dans jinx, c'est vraiment un outil pratique, qui est en fait beaucoup d'équilibreur et ont l'observateur et le proxy et en fait tout ce que vous voulez. Donc, dans chaque projet, vous voulez que toe configure où, par exemple, vos demandes pour entrer quand ils arrivent à votre hôte ? Disons que votre hôtesse nourriture bar point com. Donc, en gros, si votre quête est pleine barre qui vient, vous vouliez aller à votre front. Mais si elle est Slash AP I une Dent et je ne sais pas Post, alors vous voulez orteil goto notre salaire et ainsi de suite. Donc, fondamentalement, ce service va configurer le moteur ICS à l'intérieur et va résoudre tous les trous et toutes les sécheresses de notre application. Alors, c'est ça. Ce sont tous les services que nous allons mettre en œuvre dans ces voitures. Mais peut-être que si votre projet est plus petit, vous pouvez partir juste avec front end et ensuite appelé avec votre ciel et base de données en plus , ce qui signifie que vous avez besoin d'au moins trois services et, bien sûr, n Jinx. Ce qui nous amène à quatre. Donc, c'est le montant le plus bas des services que je vois possible pour une application normale avec avant et fait signe. Si vous avez gardé, par exemple, sur la pluie tendance attirée, disons que vous avez comme rubis sur les rails et simplement des modèles dans Beck, et alors vous n'avez pas besoin, bien sûr, front end. Et ce n'est qu'un service pour appelé, un pour la base de données et un pour dans Jinx. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 4. Installer des outils: dans cette vidéo. Je veux parler des outils que nous devons installer pour commencer à développer des façons plus sombres. Et l'outil le plus important pour nous est sombre. Un bureau l'espère. Fondamentalement, c'est l'installation sombre qui a tout ce dont nous avons besoin à l'intérieur. Donc, fondamentalement, ici dans le site officiel docker, vous pouvez aller au produit et ici est sombre Un bureau. Il vous suffit de cliquer sur le lien et ici vous avez toléré Former Quest, par exemple, ou pour Windows. Donc juste installé cette application. Et après l'installation, vous avez quelque chose comme ça dans votre bar quand il a commencé. Comme le bureau DACA est en cours d'exécution si fondamentalement juste commencé et il se bloque ici dans la barre et cela signifie que nous pouvons développer nos applications avec talk. Donc, j'ai déjà installé le bureau DACA et vérifions si nous avons la capacité de travailler avec . Donc, fondamentalement, je suis ici dans la console et si je vais sécher dock moins version, par exemple, cela devrait me donner une aversion sombre. Cette chose est disponible à travers ce chien un bureau. Maintenant, si nous écrivons par exemple, aide du médecin, alors nous verrons beaucoup de commandes qui sont possibles à utiliser car ici le médecin était déjà installé. Maintenant en ce qui concerne les autres outils. Fondamentalement, lorsque vous dans le style docker pour bureau, vous obtenez les cheveux foncés et docker composer. Donc fondamentalement, ici je peux sécher docker composer moins mode, et ils obtiennent aussi leur sortie. Ce docker compose est installé, et fondamentalement l'idée d'une composition plus sombre et plus sombre est que vous n'avez pas besoin d'installer quoi que ce soit. De plus, disons que nous sommes dans notre tarte sans jazz. Cela ne signifie pas que nous devons l'installer sur notre machine. Nous voulons l'installer via docker à l'intérieur des conteneurs. Cela signifie que notre machine sera toujours propre et n'aura pas d'installations inutiles. Mais dans le cadre de ce cours, je vous recommande d'installer le jazz connu sur jeune propre machine à partir du site officiel. Vous n'avez pas besoin de le faire quand vous connaissez Darkened aka composé ces derniers temps. Mais dans ce cours, je veux vous montrer cette migration hors de votre développement local à l'intérieur du Dhaka, et il sera plus facile de vous montrer si Bushehr note et en PM disponible dans votre console. Comme vous pouvez le voir, j'ai déjà noté russe Soutine n'a pas d'importance que ça. Au moins, tu dois avoir quelque chose de mieux que 10. Fondamentalement, sur le site officiel, vous avez simplement besoin de télécharger ici votre paquet pour le nœud, par exemple, Pour 12 ou pour 13. Ça n'a pas vraiment d'importance. Donc, lorsque vous l'installez dans votre nœud de console moins la version devrait vous donner avec une ancienne version. Si vous obtenez cette sortie, cela signifie maintenant que votre machine est correctement installée et que vous êtes prêt à partir. Donc, si vous avez installé avec succès un médecin et une note sur votre machine, alors vous êtes prêt à commencer ce cours et vous n'avez pas besoin d'autres choses à installer . Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 5. Créer des fichiers de docker: dans cette vidéo, nous allons commencer par créer notre fichier docker et Docker compose fondamentalement ici. Je n'ai même pas créé le dossier pour nos projets. Donc, nous commençons par une égratignure complète. Donc je pense que nous pouvons nommer notre projet Riel World avec quelques mots de médecin. Disons que c'est Riel World. Dr. Donc, dans ce cas, nous comprenons que c'est vraiment un exemple mondial où nous écrivons du code pour le projet avec DACA. Donc ici, je veux démarrer l'éditeur et nous n'avons pas encore de fichiers. Donc, le premier fichier que je veux créer est parler ici composé dot jahmal. C' est donc le fichier où nous allons écrire notre configuration de composition docker. J' ai déjà parlé un peu de ce que Docker compose, mais vérifions dans Google. Donc, fondamentalement, nous sommes juste dans Docker composer et sauter à l'intérieur du site officiel à la composition. Et fondamentalement, voici l'idée sur le composé. C' est donc un outil où nous définissons la jonction de conteneurs docker, ce qui signifie que nous créons un fichier jahmal et c'est la description de la façon dont nos services d'application fonctionneront. Comment va démarrer et arrêter les conteneurs quelles configurations et environnements sont contenus conteneurs ont besoin pour différents environnements, par exemple, pour le développement local d'une production et ainsi de suite. Donc, fondamentalement, de mon point de vue de quelques-uns, Docker est un outil de bas niveau où vous devez écrire beaucoup. Mais c'est super flexible et Docker compose est un rappeur de haut niveau où vous le déclarez simplement . Lee a décrit ce que vous voulez accomplir et Docker composer est dû en thèse avec DACA. Alors commençons à écrire dans notre Docker composer la première chose que nous devons dire ici est une version et fondamentalement comme Dr Composer évoluait, il change de version. Cela signifie que la syntaxe de composition docker et les propriétés sont différentes dans différentes versions et maintenant nous avons trois russes, qui est l' U.S. U.S Et nous allons juste spécifier ici. Donc Docteur sait quelle version utilisait. Et la prochaine chose que nous devons décrire ici est les services et fondamentalement les services que nous allons juste ici sont exactement les services dont nous avons discuté lorsque nous avons planifié notre application. Donc, fondamentalement, nous avons besoin ici d'avoir le front et le service, puis la base de données du FBI et de l'EPA et ainsi de suite . Nous allons commencer avec un seul service juste pour vérifier comment cela fonctionne du tout. Donc ce sera un service pour notre Ikea. Et juste pour vous rappeler que notre FBI est un service où nous n'avons pas de données spécifiques à l'utilisateur. Donc, par exemple, catégories posent et toutes ces choses que nous avons à l'intérieur de notre tarte Donc, la prochaine chose que nous voulons spécifier ici années, quel dossier sont nés pour atteindre le fichier Dhaka et maintenant les questions sont polyvalentes est ce que est le fichier DACA. Donc, fondamentalement, ici vous pouvez voir la structure de notre projet que nous avons ici Rail World se produire et juste un fichier Nous allons créer plusieurs dossiers fondamentalement ici. Nous voulons préciser. Ok, nous avons ici avant et et nous avons ici n'importe quel dossier de tarte et nous avons ici les heures, le dossier et ainsi de suite et ainsi de suite. Donc, fondamentalement, chaque service sera un dossier et plus tard, nous allons discuter de la façon de déplacer ces dossiers. Deux dépositaires supplémentaires. Donc, nous avons comme, par exemple, pour l'avant et juste un seul représentant. Oh, et on peut juste se développer avec ce rappeur. Mais pour l'instant, nous allons mettre tous les dossiers pour tous les services à l'intérieur de ce même projet. Et fondamentalement, l'idée est que docker compose lit les fichiers parlants de chaque dossier comme de chaque service. Et nous allons vérifier ce qui est le dossier du médecin dans une seconde. Alors passons à Google et le dossier du médecin droit. Donc, fondamentalement, comme vous pouvez le voir, la documentation de Dhaka est vraiment agréable et vous presque toujours un saut dans le remorquage. Cette documentation est le premier lien lorsque vous écrivez quelque chose en relation avec Dhaka. Donc, fondamentalement, voici la référence de fichier médecin et quel est le fichier DACA ? Dr. File est un document texte qui contient toutes les commandes de l'utilisateur qui seront déclenchées lorsque nous créons une image. Alors maintenant, la question est qu'est-ce que l'image ? Supposons que vous installez Lennox sur un serveur ou simplement sur votre machine locale et que vous utilisez une image pour ceux-ci. Donc, fondamentalement, l'image est quelque chose comme un instantané à quoi ressemblera votre installation et c'est exactement le cas. Disons qu'on a juste une image. Donc fondamentalement que jolie trouver l'installation où nous avons à l'intérieur comme Lennox, comme distributive de base avec par exemple, maintenant installé et quand nous avons utilisé cette image pour créer et que vous distributive pour l'installer, fondamentalement, nous allons sortir de la boîte, pas seulement dessiner Lennox. Mais notez aussi, par exemple. Mais cela peut être un peu compliqué au début, mais vous le verrez dans une seconde. Donc, nous allons sauter à l'intérieur du FBI, par exemple, et créer dans votre document, qui est appelé fichier DACA avec grand la lettre. Donc fondamentalement, comme ils l'ont dit, nous avons maintenant Docker composer. C' est comme la composition de tout. Donc, c'est la chose de haut niveau qui gère tout et dans une tarte, le fichier docker. Donc, fondamentalement, nous aurons le fichier DACA dans chaque dossier, comme dans chaque service et dans le fichier Dhaka qui spécifient comment, exactement avec ce service devrait être préparé. Et la première chose ici à dire est de si fondamentalement à partir des moyens de quelle image nous voulons prendre, nous pouvons dire ici que nous voulons image de noeud et ici nous pouvons spécifier la version. Par exemple, no 13. Ensuite, cela signifie que nous allons créer dans ce fichier taco que votre image avec No. 13. Cela signifie que cette image ne fait rien avec juste prettified. Ok, pour notre FBI, nous avons besoin d'une image où la version 13 du nœud est déjà installée. C' est ça. Nous ne spécifions rien d'autre et les pistes sautent à l'intérieur de notre docker composer Donc fondamentalement ici à l'intérieur de notre ik je voudrais spécifier quel dossier ? Que ce FBI est lié. Donc, fondamentalement ici, nous pouvons dire build Et c'est la propriété spéciale où nous disons ce que cela devrait être utilisé Donc fondamentalement ici disaient juste point slash ap I Donc c'est le dossier où Docker compose va chercher notre fichier docker et c'est exactement ce que nous avons spécifié. Ne faisons rien d'autre et essayons d'essayer de docker, de composer, composer, construire et d'entrer. Et comme vous pouvez le voir ici, nous avons le message construit dans un ciel qui signifie que docker compose voit notre service A p I que nous avons défini et maintenant vous pouvez voir que c'est étape un d'un et nous avons cette ligne de No. 13 qui a été certifié dans les fichiers de Dacca, ce qui signifie que DACA composé voit notre dans de n° 13 et comprend comment il a besoin d'installer l'image pour le e chi et peut essentiellement voir ici. Tirer du nœud de bibliothèque et tirer arrive ici, ce qui signifie que nous téléchargeons depuis Internet. L' image de No. 13 fondamentalement maintenant dans notre machine. Nous avons téléchargé l'image pour No. Deux équipes et vérifions. Je vais juste recommencer une fois de plus. Et comme vous pouvez le voir, c'était super rapide parce que nous avons déjà téléchargé cette image et nous avons mangé sur notre machine locale. C' est pour ça que nous n'avons pas besoin d'orteils. Ne le seignez pas une fois de plus et DACA le comprend et juste construire ce que nous avons dit donc fondamentalement juste pris cela à partir du Nord 13 qui est disponible localement. Et c'est la dernière ligne ici Successful Tag it, Real docker Un vrai docteur ai dernière. Fondamentalement, c'est le point clé. Ce que nous avons entendu de la note d'image 13 que nous avons créé à votre image et cette image Israel World Doctor Une tarte dernière. Donc, fondamentalement, l'idée est que nous prenons une image de base, par exemple image avec nœud, puis nous créons notre propre image pour notre projet. Dans ce cas, nous pouvons faire plus de choses que juste pris le Nord 13 parce que fondamentalement, si nous n'avons pas besoin de quoi que ce soit d'autre, nous pouvons simplement prendre cette image directement et ne pas créer notre propre image. Mais voici l'idée que nous ferons plus de choses ici, ce qui signifie pour notre service. Nous créons toujours à votre image. Et si cette image est basée sur une image de base, comme vous pouvez le voir, vous ne devriez pas utiliser les commandes Docker directement lorsque vous utilisez docker compose. Donc, fondamentalement ici vous ne l'avez pas fait Alors comment l'image sombre devrait être tirée, comment elle devrait être construite et ainsi de suite parce que Docker compose fait tout pour nous et c' est une solution vraiment stable et nous définissons juste comment nous avons travaillé le travail orteil. Donc, comme vous pouvez le voir avec Chester quatre lignes ici et une ligne à l'intérieur de notre fichier docker a été créé avec succès dans votre image que nous allons utiliser plus tard pour notre tarte. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 6. Créer une application api: dans les médias. Je veux créer notre application connue pour un service de tarte. Bien sûr. Nous ne créerons pas l'ensemble de l'application à partir de zéro. Nous allons juste génial d'acheminer afin que nous puissions tester que notre application empire fonctionne parce que cette malédiction est entièrement focalisée sur le plus sombre et non sur la création et l'application Js connue. Donc pour ça, tout d' abord, nous devons sauter dans notre dossier du FBI. Alors je suis là, à l'intérieur d'une tarte, et ils n'ont rien d'autre qu'en dehors du dossier du médecin. Donc fondamentalement ici, je veux écrire en PM dont vous avez besoin et frapper. Entrez. Et c'est un outil pour créer un paquet, Jason. Ainsi, comme vous pouvez le voir, cet utilitaire va créer notre Peca. Jason, on peut juste frapper Entrée. Peu importe ce que nous avons ici, et notre piquet de grève Jason sera créé. Donc, comme vous pouvez le voir maintenant, nous avons le paquet Jason, et nous pouvons vérifier à quoi il ressemble dans l'éditeur. Donc, gros, c'est juste un simple Picket Jason. Et maintenant, nous pouvons ajouter quelques paquets que je veux installer ici express. Et si vous ne savez pas ce qui exprime, c'est le cadre le plus populaire pour les chaises connues pour créer des applications. Donc fondamentalement a été simplement arrivé dans PM dans le style express. Et le voilà. Notre express sera installé localement afin que vous puissiez vérifier ici à l'intérieur du paquet Jason que nous avons maintenant exprimé comme une dépendance. Il est également important de voir que nous avons maintenant des modèles de nœuds et le paquet de fichiers de verrouillage de paquets Lakis . Très bien. C' est le fichier de verrouillage de nos paquets, mais pas de modèles que nous voulons ignorer. Donc, fondamentalement, comme nous avons connu des modèles dans différents dossiers, nous pouvons l'ignorer directement, empiéter sur notre projet. Donc, fondamentalement, nous voulons créer ici, obtenir ignorer le fichier et à l'intérieur, ajouter de vieux modèles pour obtenir ignorer. Et vous pouvez demander, Pourquoi avons-nous besoin de faire ça ? Parce que fondamentalement, au moment où vous voulez le commettre orteil obtenir rep. Oh, vous ne voulez pas valider de paquets parce que nos paquets sont définis dans le paquet Jason et le journal des paquets. Et dans n'importe quelle machine, nous pouvons installer des paquets corrects juste en passionnant installation NPM. Maintenant, créons un dossier source ici à l'intérieur de notre FBI. Donc nous avons juste noté des modèles ici et nous avons besoin d'un dossier source verbal, d' accord, notre remboursement froid. Donc fondamentalement ici, je veux créer dans votre fichier index point Js et à l'intérieur manger créer express que nous allons importer avec require de express et cela fondamentalement il. Et maintenant, nous devons créer une nouvelle instance hors express. Maintenant, à partir du paquet express, nous pouvons créer notre application Donc essentiellement ab equals express et nous avons juste besoin de l'appeler maintenant nous pouvons utiliser cette application pour définir nos secousses. Donc, fondamentalement, nous pouvons dire application get et ici sera, par exemple slash Bonjour Et ici, nous aurons une fonction avec requête et réponse et à l'intérieur avec cette fonction voudra retourner quelque chose que je pense à des fins de test, nous pouvons le nommer Donc nous savons que c'est le test de l'orteil Ural si nos services fonctionnent Et maintenant nous avons besoin ici orteil dire sable d'arrêt Et ici, par exemple, une certaine force Notre serveur de chaleur fonctionne correctement Donc fondamentalement juste si vous ne savez pas ce qui exprime Fondamentalement nous créons, hum d'express et maintenant nous pouvons enregistrer nos routes pour les échecs connus. Nous enregistrons ici test de route et cette demande de périmètre ato et réponse. Ce sont des périmètres à l'intérieur desquels nous obtenons des propriétés de notre demande, puis avec des repos et nous pouvons renvoyer du texte et vérifier que cela fonctionne. Donc, fondamentalement maintenant, quand notre observable sera démarré et nous allons sauter pour slash test notre flux sera rendu. Maintenant, après avoir enregistré Harold, nous pouvons commencer à écouter notre service. Donc, disons ici app écouter Et ici, nous devons spécifier un port sur lequel sera à l'écoute . Et voilà, c'est cultique. Donc, en gros, Colback signifie que notre écoute EP a commencé avec succès. Donc, voici le démarrage ou commencé AP I service. C' est ça. Fondamentalement, c'est le serveur de nœuds le plus basique que nous pouvons faire. Et commençons maintenant pour ceux-ci dans notre paquet. Jason, nous devons spécifier comme script. Alors nommons notre script start et c'est le nom spécial en ce qu'ils ont utilisé pour démarrer un serveur de production. Donc, fondamentalement partout où vous voyez les mots commencent, cela signifie que c'est pour la production. Et si vous voyez le mot mort comme dans la mort de Pam Ron, alors ce sera avant le développement. Donc ici pour l'instant, nous sommes humains, que nous faisons la production de Web Serra, et ici nous commençons par simplement fait annulé, puis index source échecs. Alors on commence notre Terram. Vérifions si ça marche. Nous sommes ici à l'intérieur de notre FBI et nous avons juste besoin d'écrire et le PM John et là commenceront. Comme vous pouvez le voir, nous obtenons un message lancé un service de tarte, ce qui signifie que notre serveur fonctionne. Nous pouvons sauter dans le navigateur et dans le navigateur comme vous pouvez voir où obtenir ne peut pas obtenir barre oblique parce que nous n'avons pas enregistré slash votre l Mais quand nous roulons test slash obtiendrait un message Notre serveur FBI fonctionne correctement. Donc, cela signifie que notre code fonctionne et nous pouvons commencer par développer notre observateur à Dhaka. Et c'est exactement le point pourquoi je voulais installer note et PM sur votre machine parce que maintenant nous avons testé sans plus sombre que notre application fonctionne et maintenant nous allons commencer à l'emballer à l'intérieur plus sombre. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr 7. Préparer l'image de l'api docker: dans la vidéo de thèse, nous préparerons entièrement notre image DACA tarte. Comme vous vous souvenez dans la vidéo précédente ici, nous avons un médecin pile moyens de No. 13 et cette commande signifie qu'au moment où nous construisons notre image pour une cravate Aucun adolescent n' a été téléchargé. Cette image est maintenant dans notre ordinateur. Donc, la raison de la commande Nice de cheveux foncés qui peut montrer toutes les images que je n'ai pas chargé sur votre machine. Donc fondamentalement, dans la console, vous pouvez sécher les images du dossier et ensuite vous obtenez un énorme moins et pour vous, il ne devrait pas être aussi énorme que pour moi. Mais fondamentalement ici, je vais le faire défiler un peu. Vous pouvez montrer en haut qu'il y a une table avec l'image de balise de référentiel 80 créée et la taille et fondamentalement ici. La raison pour laquelle mon moins hors toutes les images dans ma machine hors cours est beaucoup. Mais ici vous pouvez voir note avec prendre 13 Et voici l'image 80 et quand il a été créé, donc fondamentalement pour vous, il devrait être quelque chose de similaire. J' ai différentes versions connues ici, comme vous pouvez le voir, mais fondamentalement l'idée est que cette image est là, vous pouvez voir manger et vous pouvez travailler avec elle si vous avez besoin. Donc, fondamentalement, si vous voyez ces sur votre machine et la taille, cela signifie que cette image est disponible et vous n'avez pas besoin de la tirer à chaque fois. Mais il est là et vous pouvez simplement construire n'importe quel projet avec cette question spécifique. Continuons maintenant à préparer notre image de nœud. Donc, en gros, nous savons que maintenant nous n'avons pas chargé Non. 13 et nous pouvons préciser qu'ils ont un directeur de travail ici et qu'est-ce que cela veut dire ? Donc, quand nous avons cette ligne, nous avons simplement l'image Lennox d'air avec une note installée afin que vous puissiez imaginer trois comme un directeur de nucléaire Lee standard est là et nous pouvons juste ici, travailler cher et puis, par exemple, application plaies utilisateur. Donc, fondamentalement, cela signifie que ce sera notre répertoire de travail où notre application vivra. Fondamentalement, il peut être n'importe quel répertoire. Ça peut être juste plein. Ça peut être une barre oblique, mais je préfère que les orteils aient un directeur comme ça. C' est très bien d'avoir n'importe quel nom parce que vous n'avez pas les mêmes choses dans une image. Donc fondamentalement ici à l'intérieur de notre image vit sur Lee One projet ce qui signifie que peu importe ce que sera ce répertoire de travail, mais nous devons en spécifier au moins un. La prochaine chose que nous voulons spécifier. Ici, il est orteil Korpi le paquet Jason et le fichier de verrouillage du paquet. Donc, gros, comme vous pouvez le voir ici, nous avons des paquets, fichiers Jason et des journaux de paquets Jason, et ils osent est-ce que ces fichiers ? Comme vous pouvez les voir maintenant sur notre machine locale, sont des fichiers locaux que nous changeons. Fin que nous allons continuer à changer. Mais maintenant, nous avons une image. Et quand nous construisons cette image, nous voulons copier à l'intérieur de Beckett, Jason et Package Lock. Et vous pouvez demander pourquoi ? Parce qu'à l'intérieur de notre image voudra installer. Notez plus d'offres. Fondamentalement, Pour l'instant, nous avons installé des modèles de nœuds dans notre machine. Mais bien sûr, ce n'est pas correct. Ce n'est qu'à des fins de test. L' idée est que sur votre machine, vous n'avez pas de modèles de notes essentiellement sur votre machine. Vous avez juste des plaies, que vous pouvez modifier, et puis toutes les autres choses vivent à l'intérieur de Dhaka. Alors essayons-le, et vous verrez l'idée. Donc fondamentalement ici, nous devons spécifier que nous voulons copier Beckett, Jason, classer et verrouiller. Donc on peut juste ici. Copier puis empaqueter puis point étoile Jason et ici point Slash Qu'est-ce que cela signifie ? Nous vérifions ici tous les fichiers dans la route avec le paquet de nom et puis quelque chose point Jason. Donc, en gros, c'est le journal de colis et le piquet de grève Jason. Et fondamentalement, ce sera toujours comme ça. Vendu. C' est sûr. Et ici, nous disons point slash, ce qui signifie s'il vous plaît les copier dans ce répertoire de travail. Parce qu'avec cette commande disaient que nous sommes maintenant à l'intérieur de ce répertoire de travail. Donc, cette commande va corporatiser deux fichiers lorsque nous construisons l'image à l'intérieur de notre image . La prochaine étape de style oriental. Tous nos forfaits. Donc pour ceux-ci, nous avons un commandement spécial Iran. Et puis on a l'air de plaisir, non ? Quoi ? On est normalement dans la coquille. Donc, il sera dans l'installation de PM. Alors ? Donc, cette commande va installer tous les paquets à l'intérieur de notre image dans l'application source utilisateur. Maintenant, après les, la seule chose que nous devons faire est de copier tous les autres fichiers. Donc, c'est pourquoi nous pouvons simplement dire copie point point Qu'est-ce que cela signifie ? Dot signifie s'il vous plaît prendre tout ce que vous voyez ici et point signifie que nous copions ici dans le répertoire. Donc, fondamentalement, vous pouvez demander pourquoi juste nous n'avons pas écrit ce point ici où nous avons Beckett, Jason et ensuite n'avons pas écrit npm install. Et la réponse est que nous ne voulons pas copier à l'intérieur des modèles de notes, et fondamentalement, cette commande pourrait tout simplement être tout. Donc, pour éviter le, nous devons créer un nouveau fichier ici point DACA ignorer. Et à l'intérieur, Comme vous pouvez le voir, J'ai créé point DACA ignorer. Et nous pouvons simplement ici les modèles de noeud. Et cela fonctionne de la même manière. Comme obtenir ignorer le fichier. Donc, fondamentalement, il est juste un fichier pour plus sombre et plus sombre comprend que nous ne voulons pas copier les modèles de noeud à l'intérieur si nous l'avons. Donc fondamentalement, une fois de plus, c'est exactement tout ce qui roulerait. Donc cinq lignes et notre dossier Dr est prêt. Donc, une fois de plus, nous avons pris l'image. Était non. 13 disaient que le répertoire de travail est l'application source utilisateur a enregistré deux fichiers là-bas et exécuter dans pm dans le style. Et cela installe tous les mémoriaux de notes. Alors nous pourrions être tout à l'intérieur sauf hors de nos modèles de nœuds. Notre dossier Dr est prêt. Et maintenant, vérifions une fois de plus ce que nous avons à Dhaka. sondages calmes. Comme vous pouvez le voir ici, nous n'avons presque rien ici. Nous disons simplement d'accord, s'il vous plaît construire une tarte pour nous et il y a un dossier Dr à l'intérieur et ce dossier de médecin sera utilisé. Alors passons à la console et à droite Encore une fois Docker compose build comme nous l'avons fait précédemment. Et comme vous pouvez le voir, ça a l'air différemment. Donc nous avons ici construire le FBI le premier pas de Non. 13 comme nous l'avions déjà fait. C' est vraiment rapide maintenant parce que c'est localement. Ensuite, nous sommes dans le répertoire de travail et ici nous copions des fichiers et nous sommes en cours d'exécution ici NPM installer. Donc, fondamentalement, ici, nous avons un avertissement mais cela n'a pas d'importance parce que nous n'avons pas de champ de description et de dépôt. Ensuite, éditez 30 paquets de contributeurs blah, blah, blah, ce qui signifie que les paquets ont été installés avec succès. Maintenant, nous avons une copie et maintenant notre conteneur waas construit avec succès. Donc, fondamentalement, nous avons maintenant une image et nous pouvons conduire ici des images docker et comme vous pouvez le voir, quelque part ici, il est notre image avec le nom Real World Docker a pie latest Est-ce qu'il a consommé le top. Nous avons Repository, Riel World , le Docteur, un salaire et une étiquette dernière et voici l'image E. D. Et il vient juste d'être créé. Et la taille de cette image est de 900 mégaoctets. Ce qui veut dire que ce n'est pas si petit pour créer une image de ce qui est connu des échecs. Et nous allons corriger cela dans la prochaine conférence. Et pour l'instant, nous venons de créer l'image pour notre P. J'ai été installé tout à l'intérieur, et notre image est essentiellement prête à être démarrée. 8. Commencer le serveur api: Dans la vidéo précédente, nous avons créé notre fichier docker pour une tarte et il a été construit avec succès. Maintenant, il est temps de commencer l'observateur que nous avons créé fondamentalement dans le fichier Dhaka, vous pouvez spécifier orteil choses supplémentaires. Ceci est exposé par exemple 300 commande et commandants dans le rayon, par exemple noeud puis coma. Et ici Waas, je pense que Ron Ah, commence. Donc, l'idée est que l'exposition expose la pièce, donc ça veut dire qu'on utilise 300 pauvres dans notre médecin. Donc ici, à l'intérieur, plaies avec spécifié que c'est le Pore 300. Mais ce port est à l'intérieur de notre conteneur docker et nous voulons exposer ce port pour le monde extérieur , qui signifie que si nous n'exposons pas le sport, nous ne pouvons pas obtenir notre application web qui pleut à l'intérieur de leur conteneur. Donc, pour ce faire, nous ne pouvons exposer que le port. La commande suivante est la commande, et c'est essentiellement ce qui a démarré notre observateur. Donc noeud Ron Start va simplement démarrer l'observateur lorsque nous voulons exécuter notre pays notre image . Donc fondamentalement, l'idée est que nous n'avons pas besoin de cette commande ici, donc fondamentalement nous allons les supprimer et la question est Pourquoi ? Parce que nous voulons tout configurer comme les cartes exposant et quel environnement il est et quelles commandes utiliser dans Docker composer parce que c'est plus flexible. Et c'est notre seule source de vérité. Oui, nous avons des configurations par exemple, FBI à l'intérieur du fichier Dhaka. Mais c'est la configuration. Comment le projet ap je devrais travailler, mais pas comment nous devrions l'exécuter de l'extérieur. Maintenant, passons à notre Docker composer Yom et il a spécifié deux choses. Tout d'abord, ce sera le commandement. C' est ce que vous avez vu dans le fichier Dhaka ici nous pouvons monter dans PM Ron, commencer. C' est exactement la commande que nous avons créée pour démarrer notre serveur web. La prochaine chose que nous allons écrire E sports Et ici, nous allons écrire des conseils 303.000. Désolé, il a fermé Resultant. Et vérifions, je pense qu'avec la commande, c'est clair. Donc, fondamentalement, avec cette commande, notre conteneur sera démarré. Mais les ports n'est pas clair Pourquoi ? Ça ressemble à ça. Tout d'abord, tout ce que je l'ai écrit pas correctement. Il devrait être écrit comme ça. Donc, ici, nous avons un tiret et puis la chaîne. Donc, au fond, que signifie cette tendance ? Alors, ici. Je veux des espaces, bien sûr. Et le flux signifie que le port sur la gauche est le port hôte et l'hôte signifie notre machine et le port sur la droite signifie port conteneur une fois de plus. Qu' est-ce que cela signifie quand nous avons ici un index source P I et ici avec 300 spécifié. Il s'agit d'un port conteneur, car l'application Web s'exécute à l'intérieur du conteneur avec ce port. Et puis nous voulons exposer le sport comme 3000 port. Donc ici, nous pouvons conduire cinq ou 6000. Et cela signifie que dans un port sera 3000. C' est le sport, mais le port extérieur sera 6000. Donc fondamentalement, si nous allons juste ici un autre numéro comme un autre port, ça ne fonctionnera pas. Parce qu'ici au port 1111 n'existe pas à l'intérieur du conteneur et aucune application n' écoute à l'intérieur du port 1111 Fondamentalement, avec cette commande. Lorsque l'observateur à l'intérieur du conteneur est démarré, alors notre observateur écoute sur le pauvre 3000 et nous avons fini ici. Nous avons juste besoin de spécifier quelle commande sera exécutée lorsque nous commencerons notre conteneur et quels déversements devrions-nous exposer à l'intérieur de ce conteneur ? Maintenant, essayons encore une fois Docker compose construit Et comme vous pouvez le voir, tout recommence parce que nous avons changé le fichier docker. Mais maintenant, essayons à nouveau. Et comme vous pouvez le voir, c'était exactement beaucoup plus rapide parce que nous n'avons apporté aucune modification à la drogue un fichier de composition à doc File. Désolé, C'est pourquoi il était presque instantané. Donc maintenant Docker compose build a créé notre image et maintenant nous pouvons utiliser cette image pour le faire, nous devons essayer Docker composer jusqu'à. Et comme vous pouvez le voir ici, nous avons plusieurs messages d'abord pour la création de réseau. Nous parlerons des réseaux plus tard. Pour l'instant, ça n'a pas d'importance. Ici, vous pouvez voir la création du monde réel docker FBI. C' est exactement conteneur avec cette image que nous avons créée et c'est fait. Et nous étions Attash dans ce conteneur. Et Thies est les journaux de ces conteneurs, ce qui signifie ici un p I que vous pouvez voir ceci est notre un conteneur de tarte. Et ici les serrures Pas d'index source, C'est notre commande pour commencer toute paye. Maintenant, passons à notre navigateur et rechargez la page et Comme vous pouvez le voir, tout fonctionne comme cela fonctionnait précédemment. Mais comme vous pouvez le voir maintenant, nous avons juste le Dr Compose. Si je vais l'arrêter avec contrôlé, par exemple ou commun, vous pouvez voir qu'il a cessé de fonctionner, ce qui signifie que c'est exactement ceux-ci. Donc, quand nous montons Docker, composer Il a commencé un par service et vous pouvez le voir ici puis à l'intérieur de notre navigateur, nous avons hôte local 3000 et test. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 9. hub Docker: dans la vidéo. Je veux parler de choses telles que DACA Hub. Donc fondamentalement, ici à l'intérieur de notre fichier docker roulé à partir de No. 13 et puis porte est venu par magie Ne loué pas cette image 'll de quelque part et nous ne savons pas où exactement Donc fondamentalement cela d'où Waas hub dr dot com Donc c'est fondamentalement quelque chose comme le registre Js noeud, par exemple. Donc, fondamentalement, c'est un endroit où vous pouvez pousser et tirer des images, ce qui signifie que c'est comme un stockage pour les images. Et disons que nous recherchons note donc fondamentalement allé noeud droit dans la recherche, vous pouvez voir ici les conteneurs et ici ils sont triés par popularité de sorte que vous pouvez voir 10 millions plus, ce qui signifie que c'est le représentant le plus populaire. Oh, et vous pouvez voir que c'est l'image de la note. Ce n'est pas Js le sang basé sur JavaScript pour le côté service et la mise en réseau et nous pouvons cliquer dessus et fondamentalement une chose plus importante, c' est la barge ici image officielle. Ce badge signifie que c'est officiel et comme vous ne Seigneur pas la chose qui est vraiment normale comme aucune chose cachée à l'intérieur. Donc, fondamentalement, c'est l'image officielle Dr pour le nœud et vous pouvez voir ici les balises prises en charge. Et c'est vraiment un important et intéressé par vous. Fondamentalement, cela signifie que vous pouvez enlever n'importe quelle balise hors nœud. Et par exemple, nous avons pris non. 13 Donc, fondamentalement, nous avons pris quelque chose d'ici. Mais fondamentalement, le fait est qu'avec une telle notation, ne sait même pas quoi exactement. Et en bas quelque part, vous pouvez voir des références rapides Et ce qui n'est pas du jazz, comment utiliser cette image et ainsi de suite. Donc, c'est essentiellement manger, mais vous devez faire normalement est juste de trouver quelle image avez-vous besoin par exemple, à travers surtension Et puis ici juste de et puis la balise. Donc fondamentalement le texte que vous pouvez voir ici lorsque vous cliquez sur les balises la tige différentes images et vous pouvez voir la taille des images comme hors cours dans pas beaucoup d'entre eux, parce que c'est comme image super populaire. Mais bien sûr, quand vous cherchez quelque chose de pas si populaire, vous pouvez voir peut-être plusieurs textes et juste une image, un type d'image. Parce que ici vous considérez que c'est une image mince, qui est plus petite et chardon, la plus grande image et ainsi de suite. Mais il y a un type d'image que j'aime vraiment et il s'appelle Alpine. Donc, fondamentalement, si l'image Google Alpine et ouvrir Wikipédia ici, vous pouvez voir ce que c'est du tout ? Ok, pas Wikipédia, mais Dr L. Pain. Et l'idée est que les images Doc sont trop grandes et généralement nous n'avons pas besoin de tout. C' est pourquoi les gens ont essayé de créer des images plus petites, ce qui signifie, par exemple, comme vous l'avez vu ici dans la console, chaque fois que droit à des images de médecin et trouver notre image de nœud ici, il est assez grand. C' est presque un gigaoctet, fondamentalement, nous n'avons rien installé là-bas. Donc, c'est comme image brute et Justin dit savoir que si vous avez un petit serveur, par exemple, pour 5$ loué quelque part, normalement il aura, comme, peut-être, 20 gigaoctets hors stockage. Et cela signifie que vous ne pouvez pas installer autant d'images là-bas parce que vous serez bientôt hors de l'espace. C' est pourquoi Thistle Pine Lennox a été créé. Donc, fondamentalement, c'est un désastre spécial et vous avez des images super petites et les plus petites à partir de Lewis cinq mégaoctets. Donc fondamentalement, c'est vraiment, vraiment petit, et vous pouvez voir ici que j'ai note petit pin, par exemple. Huit. C' est comme toute la version, mais c'est vraiment petit. Comme vous pouvez le voir, il ne fait que 67 mégaoctets, donc fondamentalement, nous pouvons passer un gigaoctet à quelque chose autour d'au moins 100 mégaoctets. Fondamentalement, dans les vieilles images populaires, vous avez toujours une vision alpine, et ici pour utiliser une alpine avec simplement peut séché tableau de bord et alpin. Mais je veux être meilleur que cela parce que je veux toujours spécifier le russe strict. Pour moi, 13 peut être différent. Donc c'est pour ça qu'on peut vérifier ici. Quelle est la dernière mode ? Par exemple ? 13 12 0 et je veux l'écrire. Moins l'adolescent 12 0 et puis tiret Alpine. Comme vous pouvez le voir ici quand j'essaie la recherche des orteils 13 12 0 Alpine. Vous pouvez voir qu'il existe pour que nous puissions l'utiliser. Donc, fondamentalement, nous utilisons la notation dis. Le 10 12 0 Alpine cette volonté dans le style pour nous était le prochain bâtiment de notre image. Version alpin. Alors faisons ça maintenant. Je viens d'essayer docker composer construire et vous pouvez voir que nous serons faits seigneur à votre image. Mais cette image sera beaucoup, beaucoup plus petite. Vous pouvez voir que c'est vraiment rapide. Donc, voici des images qui construisent à nouveau. Et maintenant, avec des images parlantes, vérifions. Qu' est-ce qu'il faut ? Donc, ici, nous avons connu 13. C' était presque un gigaoctet et nous avons connu avec alpin et il ne fait que 114 mégaoctets, ce qui signifie, comme super simple, petit et pour nos besoins, c'est vraiment suffisant, ce qui signifie normalement pour notre projet. Si chaque image prend quelque chose autour de lui et fondamentalement nous avons besoin de quatre ou cinq images différentes au total, ce sera quelque part autour d'un gigaoctet. Pour résumer, c'est quoi le Dr Hubbert ? C' est l'endroit où nous stockons des images ou non. Nous, mais là où les gens sont en train de remuer des images. Nous n'avons pas l'intention de stocker notre image que nous créons pour le projet dans le hub de Dhaka High, car d'abord, elle n'est pas gratuite. Ok, c'est gratuit pour une image, mais nous en voulons plus, et deuxièmement, ça n'a pas beaucoup de sens parce que nous allons partager nos images d'une autre façon, ce que je trouve assez pratique. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 10. Variables d'environnement: dans cette vidéo. Je veux parler des variables d'environnement. Mais tout d'abord, tout ce que je veux spécifier un périmètre important dans notre composition docker. Et ce périmètre est appelé redémarrage. Et ici, c'est égal à moins d'être arrêté. Qu' est-ce que ça veut dire ? Cela signifie que nous disons ici que le docker compose devrait redémarrer notre conteneur. Si elle est, par exemple, arrêtée pour une raison quelconque comme une erreur sur la terreur. Et le médecin compose essaiera de le recommencer encore et encore si nous n'arrêtons pas notre récipient main. Et fondamentalement, vous pouvez me demander quelles autres options et comment puis-je obtenir tous les périmètres que je disponible dans Docker composer ? Et il y a une très belle page chiens DACA dot com. Il s'agit donc d'un fichier composé slash officiel composé et c'est une référence sur le fichier composé Version trois et la version trois est ce que nous avons ici. Et fondamentalement, c'est comme super long et normalement je fais juste la mort commune ici et je cherche par exemple, pour ce dont j'ai besoin. Disons redémarrer et ici vous pouvez voir que nous avons le redémarrage de la propriété et c'est la stratégie de redémarrage . Ce n'est pas ce dont nous avons besoin. Mais voici redémarrer et vous pouvez lire à propos de Redémarrer. Donc non, c'est par défaut. Ainsi, les conteneurs ne seront redémarrés en aucun cas et cela signifie toujours redémarre et en cas d'échec. Et à moins d'être arrêté presque dans toutes mes applications, j'utilise à moins d'être arrêté parce que cela a beaucoup de sens. Donc, fondamentalement, ici dans le fichier sur cette page, vous pouvez vérifier toutes les propriétés qui existent dans le fichier composé et lire à leur sujet. Donc, fondamentalement, c'est la source de la vérité et la commande de surligneur. Si vous voulez vérifier ce que certaines propriétés font ou quelle est la syntaxe correcte à regarder ici ,par exemple, par exemple, nous pouvons regarder dans les ports et ici vous pouvez voir des cartes quelque part nous pouvons cliquer dans le dock. Oh, et c'est là. Qu' est-ce qui nous a forcé ? Il expose. Verse thèse, strut, Syntex, conteneur hôte. Nous le savons déjà, mais ici vous pouvez lire plus d'informations à ce sujet. Revenons maintenant à nos variables d'environnement. Fondamentalement, supposons que notre demande va accorder et dans le développement et dans la production. Nous n'avons donc que deux environnements et normalement c'est ce que j'utilise, comme 90% du temps. Donc je n'ai pas de mise en scène ou quelque chose comme ça. Juste le développement et la production. Et la question est comment distinguer ce que nos applications doivent faire entre la production et le développement ? Donc, la première question est, pourquoi avons-nous besoin de distinguer quelque chose et disons, tout d' abord, que dans le développement et la production, nous pouvons exécuter notre application dans différents ports, Par exemple, Alors disons que nous utilisons une application tierce comme le mailing, par exemple. Et bien sûr, vous avez à poster quelque chose comme parler en excès, ce qui signifie qu'ils vous donnent un test de parler et parler de production, ce qui signifie parler de test et que vous utilisez dans un environnement local, où vous voulez tester comment c'est le travail et la production que vous utilisez endure pain mining, par exemple, pour envoyer des e-mails, ce qui signifie bien sûr que vous ne voulez pas dans le développement utiliser la production, parler et vice versa, ce qui signifie dans notre nous voulons en quelque sorte savoir dans quel environnement nous démarrons l'application. Donc, fondamentalement, il existe différentes approches pour cette approche est d'avoir des scripts différents ici, comme star pour la production et mort pour le développement, par exemple, alors nous n'avons pas besoin de spécifier quoi que ce soit ici dans Docker composer parce que nous avons juste tort commande différente ici, donc fondamentalement C'est la production Docker composer Jahmal Alors il est ici dans PM Ron commencer Si c'est le développement du médecin composé Yama Puis il est dans PM John Death. C' est l'approche la plus facile. Mais nous voulons quand même configurer plusieurs choses de l'extérieur pour notre application, par exemple, il peut être l'hôte ou d'autres propriétés dont nous avons besoin. Supposons donc que nous voulons avoir un conseil différent donné de l'extérieur. Donc fondamentalement, ici dans notre FBI, nous pouvons monter l'environnement et c'est la propriété pour les variables d'environnement. Et ici, nous pouvons spécifier conseil égal 3000. Maintenant, vérifions comment ça marche. Et voici une belle chose que je veux te montrer. Live normal avec docker sec, composer, composer, construire et après la construction ont été exécutés dans Docker composer jusqu'à. Nous pouvons également ici Docker composer moins construire. Cela signifie qu'après, avant chaque commande docker composer, va essayer de construire une image et si dans laquelle est déjà construit, il ne fait rien et juste maquillage. Ceci est un orteil de commande gagner du temps et pour éviter de l'exécuter à bon escient. Donc ici, nous cliquons sur Entrée et nous avons une erreur et fondamentalement, comme vous pouvez le voir ici, nous obtenons un étroit. Ce fichier composé n'est pas valide car l'option de conflit non prise en charge est un environnement préttifié . Et c'est ce que j'aime vraiment dans docker compose. Tu reçois des messages vraiment gentils et tu sais toujours de quoi s'agit-il ? Donc voici l'environnement de résultat. Pas correctement. Il devrait être environ je ou habité. Donc, avec n et puis essayons à nouveau. Comme vous pouvez le voir maintenant, ça marche et on a commencé notre service du FBI. Donc maintenant, nous voulons vérifier si le Sport Tinggi fonctionne. La question est, comment on le vérifie ? Donc fondamentalement, comme vous le savez dans Jess connu, nous avons ceci et de la propriété à partir de laquelle nous pouvons lire tout ce dont nous avons besoin. Et normalement, je préfère spécifier votre configuration de fichier où je lis toute la configuration, mais pour la simplicité. Essayons-le ici. Donc, nous allons juste ici, Consul journal et processus et et et si devrait être petit, puis port fille et nous allons juste que c'est notre port. Maintenant, nous devons non seulement redémarrer tout reconstruire partie, et cela signifie que l'ensemble du processus de construction, il se passe à nouveau. Nous copions les fichiers ici. Et puis nous démarrons le serveur. Et comme vous pouvez le voir, ça ne prend pas si longtemps. Donc ici, comme vous pouvez le voir, le port est de 303.000. C' est exactement ce que nous avons spécifié à l'extérieur. Ce qui signifie que nous pouvons écrire quelque chose comme, const board égal, amené, dit et ne pas porter. Et fondamentalement, alors ici, nous n'utilisons pas le port 3000 baht, ce qui signifie que les gens doivent spécifier le port à l'extérieur. Et maintenant notre application est apatride. Donc, nous n'avons rien à l'intérieur, comme des cartes de configuration, peu importe. Nous spécifions simplement tout de l'extérieur comme le port, et nous pouvons également spécifier certaines choses comme l'hôte. Par exemple, je pense que c'est vraiment utile. Donc, nous savons à quel hôte nous commençons notre application, par exemple, hôte égal et ici http et puis nous avons riel monde dot com. Donc maintenant, nous pouvons, par exemple, lire notre hôte et il sera processus et hôte. Et ici, disons que j'aime vraiment écrire quelques journaux quand nous commençons Sarah à savoir que nous avons correctement configuré des variables d'environnement afin que nous puissions juste ici commencer un service de tarte, par exemple, sur le port. Donc ici j'ai besoin d'autres briquettes à bord et voici notre port. Et puis quelque chose comme notre hôte est et voici notre hôte. Alors recommençons à ça. Comme vous pouvez le voir ici, nous commençons par le service sur les pauvres 3000 notre hôte est émis Imperial World qui viennent Donc c'est vraiment agréable façon de configurer les applications. Donc, cela rend nos applications sans état et nous les avons juste configurées à l'extérieur avec Docker compose. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 11. Ajouter une base de base: dans la vidéo de thèse. Je veux ajouter qu'une base pour notre service FBI essentiellement la première question de savoir quelle base de données nous allons utiliser et quels paquets nous avons besoin dans notre application de nœud. C' est donc une solution très populaire pour express et aucun coffre n'est mongo DB, qui est documentaire dans la base de données. Et j'espère que vous savez quelque chose à ce sujet. Si vous ne le faites pas, vous allez juste mongo DB, et vous pouvez ouvrir le site officiel et lire quelque chose à ce sujet que c'est la base de données la plus populaire et ainsi de suite. Donc fondamentalement, je ne peux pas dire que c'est la base de données la plus populaire. Mais au moins, c'est la base de données la plus facile pour commencer à travailler avec des bases de données. Et il existe différentes solutions comment nous pouvons utiliser mongo db avec note sur un off. Les solutions les plus populaires et stable est mongoose, qui est l'Aram pour Mongo DB, ce qui signifie loin installer des bongos. Et cela nous a aidés à nous connecter à Mongo DB. Et puis ici, nous avons différents guides. Par exemple, comment définir toe définir un schéma afin que nous puissions créer des schémas comme par exemple, nous avons blawg et ce bloc a cette propriété et nous pouvons juste faire quelque chose comme nouveau modèle, qui est, par exemple, blogué. Et puis nous attendions des économies et ainsi de suite. Donc, cela signifie que c'est la façon facile de travailler orteil avec mongo db. Donc, dans ce cours, je vais utiliser celui-ci pourrait être rappeur appelé Mangues, et nous devons d'abord l'installer dans notre application. Donc, fondamentalement, nous allons champion, je suis maintenant ici dans notre route hors du monde réel, Doc am, je suis champion d'une tarte. Et ici, NPM installe Mongoose. Comme vous pouvez le voir ici, nous pouvons simplement ouvrir le stock Mongo. Oh, et voici un démarrage rapide. Et il dit aussi que NPM installer bongos est suffisant pour nous. Nous avons donc installé ce paquet avec succès. Vous pouvez voir que ce paquet n'a pas été stylé ici à Beckett, Jason, par exemple. Donc, ici, nous avons exprimé et Mongoose maintenant et cette fois pour l'utiliser. Alors, comment travaillons-nous avec la base de données ? Donc fondamentalement ici qui juste commencer notre application juste comme ça. Mais maintenant, nous ne pouvons pas faire une telle chose parce que tout d'abord, nous voulons initialiser notre connexion à la base de données. Et quand il a été réussi, Onley puis avec commencer à écouter notre application Et vous pouvez demander, pourquoi est-ce fondamentalement parce que notre application fait quelque chose avec la base de données et nous avons une relation forte se sent base de données que l'application Comme cela n'a pas beaucoup de sens de démarrer base de données après le démarrage de l'application, parce que lorsque nous faisons quelque chose sur l'initialisation hors application avec la base de données, il va simplement planter. Cela signifie que tout d'abord, nous voulons connecter la base de données des orteils et, fondamentalement, vous pouvez voir ici c'est l'exemple comment nous pouvons commencer. Donc, c'est Mongoose. Ensuite, on fait Mongoose Connect et ensuite celui-ci s'en va. Connect a essentiellement DB et nous pouvons essayer d'être sur les premières obligations et ainsi de suite. Si vous savez que nous sommes connectés, je préfère créer un assistant qui m'aidera à connecter la base de données. Donc ici, à l'intérieur d'une cravate, plaies je crée un nouveau dossier, qui est appelé aides et à l'intérieur sera divvié. Oui, donc fondamentalement ici je veux avoir Monaco, ce qui est besoin de Monaco maintenant il a jamais envie de créer notre connexion. Donc, ce sera des experts du module et ici nous pouvons sécher Daut Connect DB. C' est donc la fonction spéciale qui se connectera à notre base de données et à l'intérieur étaient juste dans le point Connect de Monaco et vous pouvez vérifier cela dans la documentation. Donc, voici quelques options. Nous les gardons pour l'instant et nous voulons retourner la connexion point de Monaco. Comme vous pouvez le voir ici, nous travaillons directement. Pour nous, c'est la connexion de Monaco. C' est pourquoi je l'ai écrit comme ça. Maintenant, ici à l'intérieur de Connect, nous avons notre base de données et la question est qu'est-ce que DB ? Donc, je préfère à l'intérieur de l'index Near Index créer une configuration de dossier. Donc, fondamentalement, je fais toutes mes applications de noeud de la même manière avec la même structure et dans les chaises de points d'index de configuration. J' enregistre toutes les propriétés dont j'ai besoin pour cette application. Par exemple, ici, nous pouvons déplacer les propriétés qui étaient la route ici comme le conseil et l'hôte. Donc, fondamentalement, allons copier à partir d'ici et à l'intérieur de l'index de configuration Et ici, nous ne voulons pas hôte Coast, mais nous voulons des experts du modèle Conseil égal port d'environnement de processus et le même ici Model exporte hôte égal processus environnement hôte. Maintenant, nous faisons la même chose avec DB. Donc fondamentalement ici les experts du module db égal et ce sera processus et ici devrait aller mongo db Ural. Donc, fondamentalement, nous voulons configurer de l'extérieur hors de notre application cette année. L Alors appelons-le, Manco. Hum, eh bien, maintenant on devrait utiliser toutes ces trois choses ici et dans notre festival d'échecs index ici ont été avertis d'avoir notre configuration. Fondamentalement, nous pouvons détruire la feuille directement, et voici nécessite, et ce sera Nous allons sortir avec la configuration. Et maintenant, nous voulons obtenir T B. Et c'est DB qui passaient à l'intérieur de Connect. Donc, c'est juste une chaîne simple mongo, db, blah, blah, blah et le niveau le spécifient à l'extérieur dans la seconde. Maintenant, je veux changer nos échecs d'index. Alors, qu'est-ce qu'on veut faire ici ? Fondamentalement premier. C' est horrible. Nous créons une application et enregistrons quelques itinéraires. Peu importe parce que nous n'avons pas encore commencé une application. Et maintenant, nous sommes avertis ici d'obtenir la base de données de connexion orteil. Donc, connectez fondamentalement DB. C' est notre fonction spéciale de require et nous allons aider les orteils db Donc, fondamentalement, maintenant ici, nous pouvons essayer de connecter DB avec des supports ronds. Et comme vous pouvez le voir, c'est la connexion de mangouste. Et c'est ça. Et quand quand vous écrivez sur l'ère, quand jamais arrivera, nous irons ici et une fois signifie que nous sommes connectés. Donc, cela signifie ici que nous écrivons point sur et ici ero et nous voulons juste faire consul log quand nous avons une erreur et sur déconnecté Ceci est un autre objet que nous avons connecter DB, qui signifie que lorsque nous avons perdu notre connexion voudrait se connecter à nouveau et les camionnettes signifie que lorsque nous sommes connectés Donc c'est ouvert alors nous démarrons notre serveur et nous n'avons pas encore de démarrage fonction Donc créons directement ici. Donc, fondamentalement, nous pouvons juste ici commencer Donc juste sur les choses fractionnées Fondamentalement, ce n'est pas tellement froid à l'intérieur et avec juste Korpi tout cela ici. Donc, c'est écouter et puis nous avons consul journal qu'il a été commencé Donc c'est exactement manger. Nous pouvons simplement monter ce code ici directement une fois devrait être avec un e Mais je préfère la fonction afin que vous puissiez voir ce qui se passe. Nous avons ici connecté être et puis sur ouvert Nous avons démarrer le serveur maintenant nous allons vérifier si cela fonctionne. Évidemment pas, mais voyons quelles erreurs avons-nous ? Donc on est juste là. Docker compose build et Comme vous pouvez le voir, il le construit et ensuite nous le démarrons. Donc, comme vous pouvez le voir ici, nous avons des erreurs et le paramètre que vous arrivez orteil ouvrir votre je dois être une souche et a été indéfini ce qui signifie ici à l'intérieur de nos aides que nous donnons à l'intérieur de db Et cette base de données vient de configuration du processus environnement et Manco Ural Et nous n'avons pas spécifié ce périmètre . Et ce périmètre n'est pas commun à l'intérieur de notre composition docker. Donc, fondamentalement, ici nous devons d'abord ajouter ce périmètre, puis de configurer notre base de données. La question est de savoir comment orteil adhérer un service de plus pour notre base de données. Donc, comme nous l'avons dit précédemment ici, nous avons besoin de quelque chose comme une base de données P I. Donc, fondamentalement, le service pour notre FBI et je pense nommer un p I d être efficace Est et à l'intérieur sont nés pour utiliser Mongo db. Donc, fondamentalement, si vous ne savez pas comment procéder avec cela, vous pouvez simplement aller au hub de Dhaka. Donc, qui a sauté dans le site. Et nous sommes à Mongo, dans l'Oural, comme vous pouvez voir les images officielles et nous prendrons l'image Mongo. Donc, nous allons cliquer ici et ici un balises afin que vous puissiez prendre différentes tactiques. Par exemple, plus tard, prenons le dernier, ce qui signifie ici avec simplement des boîtes, non ? Pas construire comme nous l'avons fait ici, mais directement image si image. Et voici notre nom. Donc ici était simplement besoin d'écrire mongo dernière et c'est tout. Et si vous me demandez, pourquoi ne pas construire comme vous pouvez le voir ici, nous n'avons pas de dossier pour une base de données, et nous n'avons pas besoin de toe parce que nous n'avons pas de fichier DACA que nous devons spécifier pour notre base de données A pie. Nous pouvons, bien sûr, créé. Mais nous ne voulons rien faire avec cette image. Nous avons juste besoin de cette image et nous l'utiliserons directement. C' est ça. C' est pour ça que j'ai essayé ici. Mongo, dernière. Et ça suffit. , Encore une mince,c'est que nous devons commencer ce service avant de commencer notre FBI. Ce qui est évident parce que festival, Comme je l'ai dit, nous commençons la base de données et ensuite nous commençons notre service, qui signifie que si ce service démarre plus tard que le service, alors tout va se rompre. Et pour cela, nous avons une propriété spéciale. Dépend de, et ici accepte base de données. Donc, comme vous le comprenez, Lee peut aller. Donc, fondamentalement comme ça, vous pouvez avoir comme, cinq bases de données si vous avez une dépendance est de déclencher des bases de données. Et fondamentalement, base de données est juste un nom et notre nom ici est un P I d be. Donc on le nomme à un T i d être. Et peu importe s'il s'agit d'une base de données ou simplement d'un autre service. Vous pouvez spécifier ici Cinq services différents et le trajet dépend des services. Donc nous sommes prêts maintenant. Notre base de données du FBI commence avant que nous ne démarrions notre FBI. Alors essayons encore une fois, nous en aurons jamais pour sûr, mais ce n'est pas le cas. Le fait est que vous pouvez voir ici nous avons la sortie froide. Et comme vous pouvez le voir, Docker compose essaie de redémarrer notre conteneur encore et encore indéfiniment solide. Arrêtez ça et vérifiez. Qu' avons-nous ici au début ? Donc, ici, nous avons des erreurs. Et ici quelque part, si nous ne louons pas, y a-t-il une base de données ? Donc, si vous pouvez voir ici vous avez des demandes pour une base de données à secteurs, ce qui signifie que certaines choses concernant notre base de données sont arrivées. Comme vous pouvez le voir ici, nous sommes vieux Dhaka composer construire et puis ici nous voyons créer le Dr A. P I d be. Ce qui signifie que Docker compose voit notre nouveau service et essaie de le créer. Donc, il a été créé avec succès et nous attachons à ce service orteil, puis l'erreur a commencé. Donc, en gros, ce sont des bûches et nous avons le même aérodynamique. Si je fais défiler vers le bas, vous pouvez voir une rose que votre oeil n'est pas correct. Ce sont vos yeux qui ont été spécifiés comme non définis parce que nous ne l'avons pas transmis de Docker Compose. Maintenant, nous devons spécifier cette propriété que nous avons créé Mongo Ural ici et ici nous pouvons dire l'Ural hors de la base de données. Et fondamentalement, pour cela, nous devons juste ici. String Mongo, deux b. Ensuite, ce sera un chi db. Et là, Kahlan et Deport. Et 27017 est le port standard de Mongo DB. Et puis barre oblique et le nom de la base de données. Donc, fondamentalement, ici, nous aurons la base de données. Disons ik I Maintenant, redémarrez notre docker, composez et vérifiez à quoi il ressemble. Comme vous pouvez le voir, nous recevons toujours des erreurs. Et ici, il est dit Yuri actuel dans votre Istrie personne est dupliqué et sera supprimé pour utiliser les nouvelles pièces ou parties de l'utilisation de l'option bus. Nouveau colis. Vrai Donc, en gros, comme vous pouvez le voir ici à l'intérieur, maman va commencer. Vous avez cette option utilisé nouvelle personne. Vrai. Et je ne l'ai pas écrit parce que je pensais, OK, peut-être que ça marchera sans ça. Donc à l'intérieur pour être là où nous faisons connexion, nous devons écrire le coma et utiliser de nouveaux colis. C' est vrai, redémarrons à nouveau. Donc, fondamentalement, ces montre que vous pouvez travailler avec Dr Really efficace Vous obtenez quelques erreurs de Dhaka comme dans les journaux comme les erreurs normales sur votre machine et vous pouvez facilement les réparer. Et ce n'est pas une grosse affaire. Comme vous pouvez le voir maintenant, après avoir commencé, je ne reçois pas d'erreurs. Donc, ici, nous avons un P I et A PDB. Ce sont des journaux impressionnants d'un p I. D. et des avertissements concernant la duplication comme la découverte de serveur et surveiller un moteur en note. Mais en fait, nous ne nous en soucions pas parce que pour pas pour nous, il est important que qui a été démarré avec succès par le service. Et cela signifie qu'ici, à l'intérieur de l'index, nous sommes passés par connexion. Nous sommes donc connectés et ouverts avec le démarrage de notre service, ce qui signifie que nous sommes connectés à notre base de données et qu'il devrait fonctionner. Donc, une fois de plus, comment cela fonctionne. Donc, ici, nous avons nos chaises d'index source. Nous avons connecté la base de données et nous connectons aux bases de données Mongoose connect où nous acceptons notre base de données. Et puis nous avons juste sur l'erreur à ce sujet. Connecté sur ouvert signifie que notre serveur, notre base de données a été démarré et nous pouvons démarrer notre serveur. Donc, démarrer le serveur est juste de l'aide. Écoutez et il s'ennuie jamais Host et connectez db à partir de nos fichiers supplémentaires. Et dans les configurations, nous avons les trois propriétés du processus. Et donc ces trois propriétés pire embellissant à l'extérieur dans Docker composer et à l'intérieur de notre aide de 40 b, nous avons utilisé cela pour être de Docker composer pour connecter base de données orteil. Maintenant, si on saute à docker, composer ont été ajoutés ici. Nouvelle image Mongo dernière. C' est donc l'image qui a été téléchargée automatiquement. Donc nous n'avons pas le Dr. File sur votre OEB et il a écrit Depend on a p i d be, qui signifie que cette base de données devrait commencer en premier. Aussi ici nous sommes dus Mongo db et puis un p i d. être. Donc c'est exactement le service. Donc c'est la propriété. Donc, nous disons que cette base de données Mongo Ural est commune à partir de ce service de serveurs. Et voici le port par défaut de mongo DB. Et c'est leur base de données que nous voulons utiliser. C' est ça. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 12. Réaliser des demandes de base des données: dans la vidéo de thèse. Je veux parler de faire des demandes de base de données, mais festival je veux comprendre que vous avez vraiment compris ce que sont les images parlantes. Donc fondamentalement dans la vidéo précédente, vous avez vu que nous venons d'écrire ici pour notre épi. Je d être l'image de service Mongo dernière et c'est tout. Et je pense que pour beaucoup de gens, c'est de la magie parce que tu ne comprends pas ce qui s'est passé à l'intérieur. Et vérifions comment fondamentalement cette image mongo db latest ressemble donc c'est exactement la même chose. Comme si nous avons créé ici notre dossier docker. Donc, fondamentalement, quand les gens ont créé cette image mongo, ils ont juste créé quelque chose comme pas à partir du nœud, bien sûr. Mais peut-être d'un boom à vous pouvez ici, par exemple, supprimer tout et juste ici de Mobuto. Disons 16. Et puis ils ont juste installé ce dont ils ont besoin pour l'image mongol de thèse. Donc fondamentalement. Ok, peut-être qu'ils n'ont pas cette copie fonctionnée ici et ainsi de suite. Mais vous pouvez simplement John toutes les commandes ici comme vous l'avez fait auparavant. Serveur Linux en Inde, par exemple. Vous pouvez ici, par exemple, de Mobuto puis de John. Et ici, vous faites quelque chose comme Abd obtenir installer. Et voilà, Disons Mongo et c'est essentiellement manger. Ils viennent d'installer Bongo dans ce sirop. Ensuite, avec la commande, ils peuvent dire que lorsque cette image sera construite, nous devons démarrer Mongo. Donc ils écrivent quelque chose comme maman a obtenu, par exemple, pour démarrer Mongo DB. Et fondamentalement, c'est manger. Donc, comme vous pouvez le voir, ce n'est pas magique à l'intérieur de chaque fichier docker, et chaque image est juste un ensemble de commandes qui sont là pour construire et créer cette image. Et ensuite tu pourras me demander. Mais quelle est la différence alors, entre partager ces images via Dr Hub et simplement partager dans un meilleur script comme où vous écrivez simplement EP, obtenir un bon à être et ainsi de suite, les principales différences que le partage une image partage l'instantané de votre serveur Lennox, qui signifie comme ceci est comme votre classe et vos instances. Donc, la classe est votre image, et vos conteneurs sont des instances, ce qui signifie que vous partagez simplement l'image et vous êtes sûr que dans cette image, tout ce qu'il veut installer est le même partout. Donc, s'ils ont installé la version Mongo DB, je ne sais pas 16. Alors cette version sera là pour toujours. Il ne serait jamais changé en version 17 ou quelque chose parce qu'ils ont ceci à l'intérieur de l' image. J' espère que vous avez compris qu'il n'y a pas de magie à l'intérieur des images. Il suffit d'un ensemble d'orteil de commande construire une image et ensuite nous utilisons ces images pour créer nos conteneurs. Revenons à notre note parce que nous n'avons pas besoin de changer le dossier du médecin et de vérifier ce que nous pouvons faire avec notre A p i d. Soyez donc d'abord, tout ce que je veux parler de cette base de données mongo ici. L comme vous l'avez compris. C' est le nom de notre service et c'est le port. Et c'est le port par défaut où mongo db dans ce service a été démarré et c'est simplement le nom de notre base de données que nous pouvons utiliser ici différentes bases de données et cela n'a pas d'importance car mongo db les créera pour nous. Ce qui est le plus intéressant est la base de données d'approvisionnement. Comme vous le comprenez, nous obtenons un soi-disant lien toe le service donc fondamentalement, nous pouvons utiliser le nom hors du service entre les services. Donc, comme vous pouvez le voir ici dans la déclaration hors service du FBI, nous pouvons l'utiliser comme la référence. Deux sont les services et il se passe par le réseau. Mais nous en parlerons plus tard. Pour nous, c'est important. Comprenez que c'est ici un p i. D. B est vraiment bon parce que ce n'est pas quelque chose comme l'hôte local ou certains je p adresse, parce que dans ce cas, trois débats distincts ont le même goût partout. Nous n'avons pas besoin de changer cette année l, par exemple, pour la production ou locale parce qu'il est toujours la référence à un autre service. Parlons maintenant de faire une demande de base de données. Donc, ici, nous sommes déjà inscrits Docker composer une build. Et vous avez vu que pour nous, où commencé d'abord sont comme je d être et ensuite notre hôte, Comme vous pouvez le voir, nous n'avons pas d'erreurs. Et maintenant, dans notre application hors ciel plaies et l'index ici après le serveur de démarrage, nous pouvons faire quelque chose avec la base de données hors cours. Nous n'allons pas implémenter l'application entière ici avec nowt, mais au moins nous voulons vérifier que C'est exactement comment un dit et qu'une base de données disponible ici et nous pouvons l'utiliser. Une autre chose que je veux faire ici est le Consul enregistrer notre Deby parce qu'ici nous devons être dans notre configuration et ce serait vraiment agréable de voir cette année l dans le journal du consul quand nous commençons notre sirop. Donc je viens juste ici base de données Vous allez bien et voici Debbie. Maintenant, nous avons besoin d'hommes tôt pour redémarrer notre docker composer. Et comme vous pouvez le voir ici, nous avons ici votre base de données l Mongo db a pie, bla, bla, bla, bla. Ce qui veut dire que notre d b est correct. Et maintenant, nous pouvons faire qui obéit aux demandes. Comme nous utilisons Mongoose, ouvrons la documentation. Donc, voici commencer. Nous avons déjà fait notre première connexion. Et Wissmann dit, si vous ne savez pas, vous nous définissez le schéma. Ce qui signifie que c'est le schéma du modèle. Et ici vous dites que vous avez Entity Kitty avec son nom. Normalement, je dirais pour une application que vous avez quelque chose comme le schéma de vanter, schéma d' article que le schéma d'utilisateur et ainsi de suite. Donc, comme vous pouvez le voir ici, je vais juste le baser quelque part sur le dessus parce que ce n'est en fait pas lié. Toa le faire sur leur départ. C' est comme une définition. Donc disons, ici nous avons le schéma Kitty. Ok, très bien pour l'instant. Maintenant, nous avons besoin ici orteil importation menthe va. Donc, nous exigeons. Ici, maman va et maintenant schéma de go humain va créer un schéma de minou. Maintenant, la prochaine chose que nous devons faire est, comme vous pouvez le voir ici, compiler le schéma orteil le modèle. Donc fondamentalement ici je veux monter pas à notre mais Const. Et ceci est notre modèle chaton et Mongols modèle chaton Kitty schéma. Ce qui signifie que le schéma est à quoi ressemble notre modèle. Donc, ici, nous avons chaton. Et comme vous pouvez le voir, nous pouvons faire des choses avec notre chaton. Prenons, par exemple, ceci maintenant après les débuts. Bien sûr, En fait, ce n'est toujours pas important, parce que la chose ne fait pas une base de données orteil de requête. Mais au moins où, bien sûr, ici que nous avons la base de données ici. Alors nommons silence et nouveau chaton et redémarrez notre docker composer. Donc, comme vous pouvez le voir ici, vous pouvez voir le nom silence, ce qui signifie ici que nous avons créé une instance de notre modèle chaton et silence de thèse et fondamentalement ici Qu'est-ce qui est intéressant quand nous allons le redémarrer ? Vous pouvez voir que nous avons ici un objet avec I D et nom, qui signifie que cela est déjà créé. entité de base de données. Il n'est pas sauvegardé, mais nous pouvons le sauvegarder maintenant car il est déjà créé par Mongols. Il a un 80. Alors vérifions comment nous allons enregistrer les choses dans la base de données. Donc, comme vous pouvez le voir ici, nous pouvons utiliser des méthodes. On n'a pas besoin de ça. Et ici, nous avons des frais de vol point Safe. Donc fondamentalement, exactement ce code, nous pouvons copier coller ici conseil. On n'a pas besoin d'espoirs. Je veux le coller ici. Et il veut toujours le nom Fluffy en silence parce que notre chaton est le silence. Et nous voilà, juste à point Save où nous roulons. Appelez Beck et appelez Beck a une erreur, et le silence sera notre résultat. Nommons le résultat parce que c'est plus clair. Et maintenant si nous avons jamais va monter conseil, regardez erreur. Dans d'autres cas, nous voulons l'essayer. Résultat du journal Consul. Redémarrez donc notre base de données. Notre docker compose. Désolé. Et comme vous pouvez le voir, nous obtenons une réponse invalide. En fait, nous pourrions résoudre ce problème avant parce que comme vous pouvez le voir, le problème est que l'espace de nom ne semble pas correct. Donc, ici, nous avons des crochets simples et à l'intérieur nous avons une cravate, puis des crochets doubles, puis point chatons Fondamentalement, il devrait être un tarte point chatons résultat Ce symbole. La question est de savoir pourquoi c'est comme ça. Et la réponse est une ligne avant qu'elle ne soit. Voir ici la base de données glogg consul, votre l et la différence entre l'hôte et à la base près d'El est que nous avons ici cette double citation. On n'en a pas besoin, en fait. Et cela signifie que nous n'avons pas donné la valeur correcte de notre composition docker. Alors vérifions à quoi ça ressemblait ici. Comme vous pouvez le voir, mongo, Ural ont été écrits avec des guillemets doubles et non, tout comme une chaîne. Si nous avons ouvert ce fichier de référence sur composer ici, vous pouvez voir que je suis dans la section hors environnement. Et il y a deux choses différentes comment nous pouvons écrire un environnement. Il peut être écrit comme un objet. Donc, fondamentalement, comme ici avec Cullen ou avec un signe égal et la mort ici comme nous sommes votés avec ça ici hors cours, nous ne pouvons pas corriger les symboles parce que ce sera simplement une force. Si nous convertissons tout orteil une telle notation, alors peu importe ce que les guillemets utilisaient, mais en notation avec tiret. Nous devrions supprimer complètement ces symboles. Redémarrez nos sondages du Dr Com et vérifions si ça marche. Comme vous pouvez le voir, nous ne recevons aucune erreur. Maintenant la base de données Ural est correcte et que nous voyons alors notre résultat. Comme vous pouvez le voir, nous avons ici le nom d et la thèse Simple V, qui est égal à zéro. Et c'est en fait une version. Et c'est le marché que notre enregistrement a été complètement sauvegardé correctement dans la base de données. Comme vous pouvez le voir, nous avons créé avec succès aux services un avec base de données et le second avec notre projet A pie. Et maintenant tout fonctionne. Nous pouvons, après le démarrage du serveur, utiliser notre base de données et cela fonctionne très bien. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 13. Volumes: dans la vidéo précédente avec succès enregistré cette base de données Silence kitty toe, ce qui signifie que notre base de données fonctionne. Mais la question est de savoir ce qui se passe quand nous commençons notre docker composer. Donc, fondamentalement, chaque fois que nous construisons encore et encore notre conteneur, toutes les données seront supprimées à l'intérieur et recréées à nouveau. Donc, fondamentalement, comme vous pouvez le voir ici dans notre fichier docker, nous avons ce point de copie qui signifie chaque fois que le conteneur est construit, où faire face encore et encore nos fichiers que nous avons ici, ce qui signifie chaque fois que nous changeons juste un fichier comme cet index jazz, puis on démarre le conteneur et toutes ces commandes DACA essaie de faire à nouveau et fondamentalement ok, il vérifie. Nous n'avons pas besoin de faire l'installation de npm car nous l'avons fait auparavant. Mais puis il copie tous les fichiers, ce qui signifie que, fondamentalement, chaque nouvelle construction supprimera tous les fichiers et les créera. Julie. Et c'est exactement le bénéfice du médecin parce que vous savez que tout est créé chaque fois à partir de zéro. Il ne reste rien là, rien de grand et bien sûr, c'est bon pour les tests parce que nous sommes sûrs que tout est installé à partir de zéro. Mais ce n'est pas bon quand on veut persister des informations. Et fondamentalement, nous avons besoin de cas où nous voulons persister. Information. Tout d'abord, c'est une base de données. Nous ne voulons pas supprimer les données de base de données à chaque reconstruction et deuxièmement, leurs sources hors de notre projet, comme vous pouvez le voir maintenant à Dhaka, fichier chaque fois que nous reconstruisons notre image. Enregistrez p tous les fichiers ce point de copie signifie travailler dans tous les fichiers de notre projet à nouveau à l'intérieur de l'image et tout est bien, mais nous ne voulons pas construire une image à chaque fois que nous faisons des changements, est tout simplement pas efficace. Donc, fondamentalement, quand nous entendons changer une chaîne, nous ne voulons pas reconstruire l'image entière. Nous voulons en quelque sorte orteil stocker ces données quelque part, mais pas à l'intérieur du conteneur, parce que fondamentalement, les changements se produisent. Et nous ne nous contenterons pas de faire ce changement à l'intérieur du serveur Web. C' est ça. Et il y a une solution pour cela, qui s'appelle volume. Fondamentalement, ouvrons la documentation. C' est vraiment sympa ici, et il y a une section qui s'appelle volumes, et l'idée est que vous pouvez monter des volumes pour le service. Cela peut être un peu difficile, comprendre si vous ne savez pas du tout ce qu'est le volume. Mais fondamentalement, l'idée est que c'est un endroit supplémentaire. Ce n'est pas une image, ce n'est pas un conteneur. C' est un volume, ce qui signifie que c'est l'endroit à l'extérieur du conteneur où nous stockons des données. Et normalement DACA ne supprime pas ces données hors cours. Nous pouvons le faire si nous le voulons, mais normalement entre les reconstructions, ces données sont là. Le deuxième avantage du volume est que nous pouvons utiliser l'état A entre nos services. Ce qui veut dire que quand on a sauté à notre composition Docker. Et disons que nous avons des données comme je ne sais pas, par exemple, la base de données. Nous voulons orteil utiliser cette base de données dans serval plusieurs services non seulement jeté une tarte, mais directement en utilisant les fichiers, et nous pouvons le faire avec le volume où juste dire une grotte que nous avons nommé ce volume je ne sais pas plein et puis nous dépendons de la volume dans différents services, Donc, fondamentalement, c'est une idée, et voici un exemple comment nous pouvons le faire ici. C' est un peu compliqué parce qu'il y a tout le chemin. On ne l'écrira pas comme ça. Essayons le raccourci, Syntex. Donc fondamentalement, ici comment nous pouvons partager la base de données du FBI pour l'instant. Donc, la première question est où sont les données et comment nous voulons les nommer. Disons que ici aurait une image. Et maintenant, nous avons des volumes, propriétés, et ici avec Dash, nous pouvons écrire, disons des données de base de données mongo et c'est une slash de données db et je pense que les données de Mongo db ne sont pas bon nom. Nous allons le changer. Mais fondamentalement, l'idée est que la gauche peut être tout ce qu'elle est. Juste un nom comme plein. Voici Justin. Identifier pour nous et slash données slash db Ceci est le chemin à l'intérieur du conteneur. C' est donc le chemin où ces données seront montées ce volume. Donc, fondamentalement, normalement, base de données Mongo DB est ici dans les données slash Slash pour être. C' est pourquoi nous sommes Lincoln exactement à l'endroit où il est en ce moment. Et je pense que le nom Mongo db retour je serai plus compréhensible parce qu'il a jamais compris Ok, . c'est le volume avec les données Mongo DB. Et fondamentalement, c'est le volume qui a été initialement créé à l'intérieur du FBI ou pour un P I. Maintenant, il y a point suivant. Donc, cela est en fait suffisant. Si nous voulons stocker et persister des données juste à l'intérieur de cela un p I d. Soyez, mais à coup sûr plus tard, nous voulons les réduire dans d'autres endroits. Pour cela, nous pouvons conduire la section de volume dans la route ici et juste ici. Mongo db a p i Et ici plus devrait être une colonne à la fin. Donc, fondamentalement, cela signifie que c'est le nom qui sera global. Et avec ce nom dans tout ce service que nous avons Par exemple, dans un pi, nous pouvons utiliser ce volume. Donc fondamentalement, redémarrez notre docker, composons et vérifions ce que nous obtenons. Donc ici, je vais faire défiler sur le haut de parce que c'est important. Et comme vous pouvez le voir ici, nous avons un mot d'état de service d'avertissement I. D. B utilise la base de données de volume du conteneur précédent et nous devons supprimer les conteneurs existants à utiliser. Donc, cet hôte Meppen n'a aucun effet. Donc fondamentalement, nous allons monter cette commande Docker composer céramique I d être. Et fondamentalement, le problème est qu'auparavant nous n'utilisions pas le volume et maintenant nous l'utilisons . Donc, pour cela, nous voulons supprimer complètement ce 80 je d être. Et encore une fois John Docker compose et vérifions si nous avons une erreur. Donc, voici pas d'avertissement et vous pouvez voir que nous avons tout créé avec succès et ici nous n'avons pas d'erreurs. La question est de savoir comment vérifier si nous avons des volumes ne sont pas pour ceux-ci. Il y a une commande à Dhaka qui est appelée volume sombre. En fait, vous pouvez juste ici, juste aka volume et vous obtiendrez une belle aide. Voici donc l'utilisation, le volume du médecin et la commande. Donc ici, nous pouvons créer le volume de dunk besoin de le faire par hasard parce que Docker compose fait pour nous. La raison Inspecter dernier brune et fils. Essayons donc le Dr Volume ls. Et comme vous pouvez le voir, j'ai beaucoup de conteneurs et normalement je vais avoir ici le nom du volume. Donc, comme vous pouvez le voir ici, nous avons un vrai docker du monde et un goody soit une tarte. Et comme vous pouvez le voir ici, Munger, débat pi est exactement le volume que nous avons créé ici. Maintenant, nous pouvons juste ici, le docteur inspecter et ensuite le nom. Comme vous pouvez le voir ici, nous pouvons voir quand il a été créé quelques étiquettes et point de montage et ainsi de suite. Pour l'instant, nous n'avons pas besoin de ces informations, mais vous pouvez comprendre que le volume a été créé avec succès. Je pense qu'avec une tarte avec elle correctement, bien sûr. Mais ce n'était pas si clair à quel point c'est cool et comment c'est tous nos problèmes. C' est pourquoi je veux vous montrer comment nous pouvons faire de même pour les fichiers. Donc fondamentalement, pour l'instant, dans notre fichier DACA du FBI copiaient tous les fichiers sur la construction. Et c'est bien quand on fait une production, qui veut dire que nous sommes juste ici Dr Composé et ces factures et que nous commençons notre docker composer . Mais le fait est que nous sommes aussi un environnement de développement où ont été avertis de changer les fichiers source essentiellement pour la production. Nous ne voulons pas cela et je préfère créer un fichier supplémentaire comme docker compose jahmal, mais pour le développement. Et ici, nous pouvons créer Docker composer pensée développement dot jahmal. Et maintenant, nous allons écrire fondamentalement la même chose, mais pas beaucoup. Donc il a jamais créé des services et nous savons que nous avons ici au moins Ik I et nous pouvons écraser quelque chose ici que nous pouvons remplacer ici Command avec Yar. Désolé. Dans PM Ron Death et volumes Et je vais vous dire ce que je fais dans la seconde. Donc fondamentalement dans les volumes comme précédemment sont nés pour spécifier le chemin Donc le chemin sera une plaies à tarte Et ici Colin et puis l'utilisateur et ici sera plaies source AP. Qu' est-ce qu'il y a à propos de tout ça ? Donc, nous avons Docker composer et l'idée off plus sombre que nous pouvons par défaut Si nous venons d'essayer Good docker composer quelque chose Il prend le harceleur composer jahmal Mais nous pouvons aussi dire docker composer moins f et puis le fichier. Donc, fondamentalement ici, nous pouvons sauver Docker composer jahmal et puis un fichier composé de modèle équipé comme vous pouvez le voir par exemple, moins f Dr Campos Jahmal et puis Docker composer le développement Yama. Et puis nous disons, par exemple, construit comme toujours. Et l'idée est que dans ce cas, prenez tout de Docker composer et nous sommes très heureux Toutes les propriétés que nous avons définies dans docker composer le développement avec les propriétés que nous avons écrites ici Cela signifie que fondamentalement prendrait tout d'ici, mais dans une section tarte surcharger la commande et les volumes comme vous pouvez le voir ici. Nous n'avions pas du tout de volumes parce que nous n'avons pas besoin d'orteil parce que c'est de la production et de la production Nous ne voulons pas changer les fichiers source, mais dans le développement bien sûr, nous voulons changer les fichiers de cellules. C' est pourquoi nous voulons monter avec le volume notre dossier source. Donc fondamentalement ici la source est montée et cela signifie que c'est le chemin dans notre système. C' est une tarte plaies et fait le droit. Vous pouvez voir le chemin à l'intérieur du conteneur. Donc, fondamentalement, nous prenons le même chemin comme il waas dans le fichier Dhaka et ici le chemin oublie réellement de le changer. Il est l'application source de l'utilisateur Et maintenant ici, vous pouvez voir que dans le développement, il est des plaies absolues de la source de l'utilisateur parce que nous voulons exactement la même structure. Donc, qu'est-ce que cela signifie pour la production ont été prises fichier sur la gauche Docker composer Jahmal pour développement étaient à droite dans le commandement comme ce moins f puis le fichier de développement de fichier de production et puis le nom de la commande Et ici étaient commande écrasante, ce qui signifie que nous avons un commandement différent. Donc ici, par exemple, nous ne pouvons pas utiliser de démon et si vous ne connaissez pas de démon C'est un outil pour le jazz connu où nous commençons à chaque changement de fichier d'observant et nous avons ici des volumes ce qui signifie que nous pouvons changer les fichiers sans reconstruire le système. Et vérifions comment ça ressemblera à d'abord horrible. installons pas de démon à l'intérieur de notre tarte. Donc nous allons à un gars et ici simplement NPM installer pas de démon. Donc je l'installe et tu peux y aller, Go. Ce qui n'est pas Demon est Et à l'intérieur dans PM, vous pouvez simplement l'installer par exemple globalement, nous n'avons pas besoin globalement et puis droit pas de démon et certaines conditions ou nous pouvons créer un fichier de configuration pour elle et puis juste Pas de démon, comme vous pouvez voir avec succès installé le paquet. Maintenant, nous allons passer à notre paquet ciel. Oui, nous n'avons pas de démon ici. Et maintenant, je veux créer ici et vous fichier de configuration où le conflit hors aucun démon ira ira. Donc fondamentalement, le nom sera connu démon point Jason et c'est un objet. Et ici, nous avons des verbales et les verbales sont fausses. Mais parfois vous voulez l'avoir en vrai. Si vous déboguez quelque chose mais que vous avez aussi des cartes et c'est leur façon. Où avec 55. Quels dossiers voulons-nous regarder ? Et pour nous, c'est le dossier source. Et ici, nous avons exact. Et c'est la commande que nous voulons exécuter à chaque fois que le fichier y est modifié. Et ceci, c'est une note. Et voici les plaies slash index échecs. Donc, fondamentalement, c'est exécutif qui commande que nous partageons dans notre paquet. Jason, c'est ça. Maintenant, nous devons créer un nouveau script ici, il est sourd. Et ici, nous avons juste essayé aucun démon, ce qui signifie que quand je saute maintenant ici dans un p je peux écrire et PM John Dev Et ça va commencer pas de démon comme vous pouvez le voir. Mais bien sûr, nous obtenons une erreur parce que nous manquons beaucoup hors processus environnement des rebelles parce que nous aspect de les trouver en ligne via docker compose et nous n'avons pas besoin de démarrer un programme comme celui-ci. Mais le fait est que nous avons configuré avec succès pas démon. Et maintenant, nous pouvons sauter en arrière et commencer Docker composer avec le développement. Donc on est juste dans les sondages de Dacca, puis moins si docker compose Yaman. Et ici, je ne l'ai pas dit correctement. Il devrait être une fois de plus mineur moi. Donc, le fichier suivant, et puis vous êtes droit dans le fichier suivant qui le remplacera. Et ici, nous avons construit. Donc, c'est Docker composer le nom de fichier auto mineur moins un nom de fichier, puis la commande. Ensuite, je frappe Entrée et comme vous pouvez le voir, où construire des choses aussi, comme vous pouvez le voir ici, nous avons un payé pour être habitué à Nimitz sauter. Ce qui signifie que DACA voit que je n'ai pas été changé. Et on n'a pas besoin de faire quoi que ce soit ici, alors on a juste construit une tarte. Comme vous pouvez le voir, nous n'avons aucune erreur. Et ici, nous avons quelques avertissements, mais cela n'a pas d'importance, et il a été construit avec succès. Maintenant, commençons. Donc nous sommes en train d'écrire. Et comme vous pouvez le voir, cela fonctionne et notre hôte est là. Rechargeons la page pour que nous puissions voir qu'elle fonctionne. Slash Test fonctionne, ne teste pas notre service payant fonctionne. Alors maintenant, je vais appuyer sur Entrée plusieurs fois pour nettoyer l'écran. Mais mon service est toujours là. Et maintenant, nous allons sauter dans un dossier de cravate dans la source, disons dans l'index et ici nous pouvons tout simplement droite, pas de résultat, mais de résultat avec des volumes. Et sauve ça et Jam Beck. Comme vous pouvez le voir ici, nous avons quelques changements. Donc fondamentalement, à partir d'un p, j'aurai un message. Pas de démon, juste commencer Q 2 changements, ce qui signifie que nous n'avons pas construit une image. Mais DACA Donc nos changements ici parce que trois et non démon à l'intérieur du conteneur et il voit les changements dans ce dossier, et comme cette faute est à l'intérieur du volume, n' est pas à l'intérieur du conteneur. Donc, ces changements se produisent juste à l'intérieur de ce volume. Donc, nous sommes en train de changer dans ce fichier et ce fichier automatiquement Israël ou fait plus tôt, grand et Web Serra. Donc ici, aucun démon n'a juste commencé aucune chaise d'index source et nous recevons le même avertissement que toujours, Mais fondamentalement notre projet a été commencé, et voici le résultat avec des volumes, ce qui signifie maintenant avec chaque sauvegarde notre conteneur voit les modifications et notre serveur Web est en cours redémarrage. C' est donc exactement ce que nous voulions pour le développement. Heureusement, lorsque nous faisons quelques changements dans le froid, notre docker compose nous montre simplement les changements. Nous n'avons pas besoin de reconstruire des conteneurs ou de faire des choses comme nous le faisons pour la production. Je pense que cet exemple illustre beaucoup mieux l'utilisation des volumes. Et la dernière question qui vous dérange peut-être. Pourquoi ici ? Je l'ai écrit comme ça et dans le développement a abouti comme ça. Donc, ici, nous avons des volumes dans la route et il ne sont pas si fondamentalement, c'est la notation nommée, qui signifie où le nom dans les volumes dans la route. Et cela signifie que nous pouvons réduire ces volumes partout. Ici, ici, ce n'est pas nommé volume. C' est dans le volume de ligne où nous utilisons juste le volume en ligne, ce qui signifie que nous n'avons pas besoin de réutiliser la source d'un gars n'importe où. C' est pourquoi nous disons simplement en ligne. D' accord, s'il vous plaît, prenez ce dossier et mettez-le ici comme assemblage. C' est ça. J' espère donc que vous comprenez maintenant comment les volumes fonctionnent et pourquoi avons-nous besoin d'eux comme toujours. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 14. Service Auth: dans la vidéo précédente a travaillé avec nos volumes. Maintenant, nous savons comment nous pouvons utiliser les données à l'extérieur de nos conteneurs. Donc notre service à tarte Maintenant, voici la base de données à l'intérieur. Nous étions connectés à la base de données et nous pouvons commencer à écrire du code. Donc, fondamentalement, notre service A pie est maintenant entièrement prêt, et vous pouvez juste ici n'importe quel projet ou n'importe quelle tarte dont vous avez besoin. Maintenant, nous allons atteindre notre autre service sur le service de syndication. Donc, fondamentalement, comme vous pouvez le voir ici, nous pouvons copier coller tout ce que nous avons à l'intérieur de notre FBI parce que nous allons utiliser le même être connecté. Mais bien sûr, ce sera une autre base de données, et nous aurons également le serveur de démarrage, et fondamentalement, la structure des fichiers sera la même. Voici Mongols et Connect. Et ici, nous aurons la configuration. Je vais copier tous les deux hiboux du FBI et procéder exactement comme nous l'avons fait avec notre FBI. Donc, nous avons ici un fichier dr de Node Working Directory, et nous faisons les mêmes choses. Mais fondamentalement, nous ne faisons cela que par souci de simplicité. Parce qu'en fait, quand nous avons un service, cela signifie que nous pouvons avoir des technologies complètement indépendantes. Peut-être qu'on veut écrire la ville I avec Ruby sur les rails, donc c'est tout à fait bien. Ensuite, nous aurons le fichier DACA, qui construira notre projet ruby on rails. Et bien sûr, alors nous avons d'autres fichiers ici dans les sources et même peut-être cela un dossier à tarte qui sera un dépositaire supplémentaire et une autre équipe bien entretenu le siège I Ce qui signifie que c'est le principal avantage du médecin vous créer de petits services ne sont pas petits. C' est à vous de décider, et les services de thèse font un seul but. Ainsi, par exemple, notre service du FBI ne fait qu'implémenter une tarte pour nos entités. Et notre service d'authentification peut être écrit dans d'autres technologies. Si nous voulons Toe est maintenu par une autre équipe et ils font dehors indication là ils peuvent, même avec l'aide du fichier DACA ici Iran thèse sky sans tous les autres services s'ils veulent. Alors écoutons maintenant. Mon dossier d'authentification est vide et je vais simplement copier et coller une tarte comme sortie. Fondamentalement, nous le faisons juste pour la simplicité parce que ici nous avons exprimé les mangues et le démon connu. Donc, c'est exactement un autre service où le nœud fonctionne. Alors vérifions si tout est correct. Ici, nous avons notre démon inconnu pour le développement et nous avons exactement quatre plaies. Et ici, nous avons une configuration qui partout tout est apatride et c'est l' avantage. Nous pourrions simplement copier coller le dossier et nous n'avons pas besoin de changer quoi que ce soit parce que toute la configuration est commune de l'extérieur. Nous allons également utiliser ici mongo, db mais l'autre base de données et complètement autre service. Et aussi ici, dans notre index, nous nous connectons à mongo DB. Et ici, nous avons un test. Mais c'est l'authentification, alors voici notre authentification. Sarah fonctionne correctement, et maintenant ici a commencé le service Indication sur le port et voici notre port. Donc, c'est essentiellement manger ici. Nous pouvons effectivement supprimer les choses que nous avons avec chaton et enfant et sûr parce que nous savons la base de données fonctionnera. Donc, fondamentalement, ce n'est qu'un exemple de la façon dont notre projet peut être reconstruit avec des bases de données et des services. Donc fondamentalement, maintenant je suis presque propre. Voici donc notre service de syndication. Et ici, nous avons connecté base de données. Maintenant, vérifions le fichier docker. C' est exactement le même répertoire de travail. C' est très bien parce que c'est complètement un autre conteneur que nous utilisons ici. Remarque CO P et P M installer tout va bien. Maintenant, passons à notre docker Compose. Donc, ici, nous avons un P I et D p i d. Et je veux ici créer deux services supplémentaires, un pour la syndication, un p I, et le second pour notre base de données de syndication. Donc, en gros maintenant, comme vous pouvez le voir, mon médecin compose en cours d'exécution. Et maintenant, quand ils ont sauté sur la console, je peux le sécher Dark ups et Tokyo PS veut dire Dr Processes. Donc ce sont deux processus que Iranien maintenant le 1er 1 est notre gâteau de visite de conteneur. Et le 2ème 1 est conteneur avec base de données et ici à la fin. Donc, ce sont les planches et c'est le I d et ainsi de suite et que vous avez le nom. Donc fondamentalement nom Israel World Doc ap I moins un et ici un p i D B moins un. Donc, fondamentalement, les noms ne sont pas si mauvais, Mais supposons juste que vous avez comme, plusieurs projets dans votre machine. Par exemple, je ne connais pas cinq et vous avez critiqué chaque projet et à l'intérieur. Si vous avez des services comme 10 ou 5 peut-être et puis à Dhaka vous traite, elle, comme, vraiment comme 50 conteneurs. Et vous voulez vraiment distinguer quel service ici ou quel conteneur est lié à quel service Et puis vous pouvez, par exemple, vérifier quelles pièces exposées ici. Quelle commande utilise est et ainsi de suite. C' est donc utile, mais nous voulons le rendre plus lisible. Donc, fondamentalement, ce nom n'est pas lisible à 100%. Bien sûr, nous pouvons le comprendre, mais fondamentalement l'idée est que dans chaque service, nous pouvons spécifier le nom du conteneur. Donc, disons maintenant qu'une tarte disait que le nom du conteneur est égal et que j'aime les règles strictes de dénomination , qui signifie que je nomme tout avec les noms au rythme du projet. Dans notre cas, ce sera Riel World Dash docteur, puis tirez le nom du service. Donc, dans ce cas, ce sera un p I. Maintenant, copions le nom du conteneur à notre p i d be et nommez-le slash Keep I slash db Alors maintenant , redémarrez notre docker composer et vérifiez quels sont les noms. Alors nous allons courir une fois de plus et vous voyez ici que nous avons des noms normaux comme nous lui fournissons maintenant ces noms, C'est beaucoup plus facile à travailler et à comprendre. Qu' est-ce que ce conteneur et lié maintenant ? Commençons par décrire notre service A pie. Ce sera une tarte pour l'indication de notre maison. Alors appelons-le. Disons hiboux et je pense que cela est suffisant parce que nous savons que notre ville est seulement liée service d'authentification orteil. Maintenant, nous avons construit et notre construction regarde quatre heures projet Indication, ce qui signifie que c'est un dossier d'authentification et il y a un fichier Docker à l'intérieur. Parlons maintenant du nom du conteneur. Nous faisons le monde réel, ou peut, ou peut, comme le préfixe et le nom du service est en dehors de l'indication. Maintenant, quel commandement aurons-nous ? Et ici, nous avons à PM Ron commencer exactement comme dans notre service à tarte, parce que nous sommes juste dans. Maintenant, le fichier pour la production suivante est Wrist Heart. Arrêtons l'art à moins d'être arrêté. Nous avons déjà parlé de cette option juste pour rappeler à votre conteneur sera redémarré automatiquement si elle a été, par exemple, pas démarré correctement ou l'ère Dreesen. Si elle n'a pas été arrêtée le point suivant, faciliter notre port. Donc fondamentalement, ici les importations. On peut dire ce que pauvre voulons-nous exposer ? Alors, allons-y. Le 3001 et nous allons le cartographier à 3001. Donc, ce qui signifie que trois solvants un sera notre port à l'intérieur et à l'extérieur. Parlons maintenant de l'environnement. Donc, ici, nous avons notre port, qui est 3001. Maintenant, nous avons notre hôte. Je ne sais pas, en fait, si on en a besoin ou non. Donc, je vais juste rouler la ficelle ici et ils pensent plus tard, nous allons l'enlever un changement si nous avons besoin orteil et le dernier. chose la plus importante est l'Oural mongol. Donc, ici parmi votre Ellis Mongo DB Et ici, nous n'aurons pas un p I d être, mais hiboux DB et ce sera un service supplémentaire pour l'authentification. Alors fournissons ici notre port et donnons un nom à la base de données. Je pense que c'est suffisant. Et maintenant, nous avons notre bloc concernant le service d'authentification. Maintenant, il est temps d'écrire l'authentification pour être, je pense aussi DB est vraiment joli nom. Et ici, nous avons juste la même chose que nous avions pour une base de données à tarte. Nous fournissons donc notre image mongo. Ensuite, nous avons consigné un nom. C' est vraiment du monde. Ok, c'est notre base de données. Et maintenant, nous avons des volumes. Et fondamentalement, dans ce cas, ce sera Mongo DB House et l'Ural à l'intérieur. Notre serveur sera le même jour à DB. Et maintenant, nous devrions adhérer. Nommé volumes Mongo DB hiboux, puis Colin. Donc, fondamentalement, comme vous pouvez le voir ici, nous avons ajouté de nouveaux hiboux à être et nous avons ajouté Nouveau bloc pour le service d'authentification. Vérifions si notre composition docker fonctionne toujours. Alors arrêtons notre docker Compose et simplifions le Dr Kam. Les sondages jusqu'à minutes, les minutes construisent. Donc, je n'utilise pas beaucoup de moi ici parce que je ne veux pas tester notre environnement de développement. Maintenant, nous construisons notre production. Donc, voici vous pouvez voir beaucoup de notre commencé nous avons Voici deux b et F B I d être et faisons défiler un peu sur le dessus pour voir que tout va bien, comme vous pouvez le voir ici il y avait trois lignes sur nos hiboux qui ont commencé l'authentification service sur les pauvres 3000 et notre facilité d'accueil et c'est l'Oural que nous avons fourni. Donc, fondamentalement, on dirait que ça marche. Donc ici, nous étions connectés àa sont db et vérifions sur le dessus. Normalement, si vous avez quelques avertissements, ils sont en haut. Donc, je vais faire défiler ici plus et comme vous pouvez le voir construire avec succès attaqué une tarte dernière et ainsi de suite et nous avons attaché et ils ne voient aucune erreur. Donc, fondamentalement, vous pouvez également voir le volume créé de la ligne et voici un bon pour être dehors. Donc fondamentalement Docker compose créé par magie pour nous volumes parce que nous l'avons décrit ici comme un volume nommé et il a créé le volume de thèse. Donc maintenant, les données de leur indication off sur la base de données seront conservées à l'intérieur du volume, donc on dirait que tout fonctionne. Et maintenant, nous allons sauter le navigateur d'armure d'orteil et sec 3001 test de slash. Comme vous pouvez le voir, ici nous avons notre serveur d'authentification fonctionne correctement et maintenant nous pouvons passer à 3000 0 et notre enquête FBI est déjà commencée, ce qui signifie que nous arrivons au moment où nous avec une commande sans installation, n' importe quoi dans notre propre machine peut commencer à travailler sur le projet qui a comme différents services à l'intérieur, et cela fonctionne juste hors de la boîte. Vous n'avez même pas besoin de savoir ce qui a été installé. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 15. Service Frontend: nous avons déjà mis en œuvre notre service et notre service d'authentification du FBI. Hors cours. Nous allons les mettre en œuvre un peu plus tard et voir comment les services peuvent fonctionner entre eux . Et dans ce lecteur, je veux me concentrer sur notre front et notre service. Et en fait, c'est un peu délicat. Comme je l'ai déjà dit, Asseyez-vous à Dhaka peut être traiter si fondamentalement prend du temps pour comprendre toutes les propriétés, comprendre comment mettre votre projet à l'intérieur. Et de mon point de peu mis à l'avant et la partie hors C'est la partie la plus difficile avec travailler avec les cheveux foncés. Et vous pouvez demander pourquoi il est comme ça fondamentalement, dans beaucoup de projets comme, par exemple, créer une application nauséée lorsque vous venez de l'installer hors cours, il fonctionne hors de la boîte. Mais vous avez de si belles choses, comme travailler avec la console interactive. Ainsi, par exemple, lorsque vous commencez à créer raked comme ceci, vous obtiendrez un message comme quelque chose est terminé à l'Iranien dans vos ports 3000. Voulez-vous le démarrer sur un autre port et vous cliquez simplement ? Oui, Et il commence sur un autre port ou, par exemple, que créer une application nauséée ou un autre outil qui sont également populaires comme, par exemple, pour Angela, où vous commencez dans Geezer Va et puis était longue Pologne ou, par exemple, avec des sockets Web. Il mettra à jour vos modifications par magie sur le rechargement du résultat de votre page. Donc, en gros, vous n'avez pas besoin comme ici dans notre it guy chaleur chaque fois que le Seigneur voit vos changements. Je ne peux pas vraiment dire le temps de défendre ce mantra chaud et au moins trois Lloyd en page quand il veut en face. Et en fait, si nous vivons dans le monde Javascript, nous ne pouvons pas aller autrement, donc nous avons juste besoin de travailler avec. Donc, nous allons installer maintenant notre front et partie avec créer une application nauséée. Donc, en gros, si vous ne savez pas ce que c'est ? Créer Deb détruit, y a-t-il un outil spécial qui installe pour vous réagir avec toutes les dépendances. Fin de l'observateur. Ce qui signifie que vous écrivez juste une commande comme et pics ou dans PM, créer une application , mon ab, Et puis vous obtenez juste le dossier avec des fichiers standard et vous avez juste besoin d'écrire froid là. Donc, ici, vous pouvez faire défiler la section npm de l'orteil et c'est ainsi que nous créons une application de recteur sur notre machine. Alors passons à la console. Je suis à l'intérieur de Riel World Doctor Folder. Et ici, j'ai aussi l'avant et le dossier. Ça ne marche pas comme ça, donc nous devons enlever ce front et tomber le premier. Et puis nous pouvons monter cette commande et PM dans le besoin réagir ab et maintenant voici le nom et notre nom sera devant. Et puis je clique juste avant et, comme vous pouvez le voir, créer une application effacée et installe toutes les dépendances, puis notre front et le dossier seront créés. Nous avons donc juste besoin d'attendre que tous les fichiers soient installés. Et nous sommes prêts à y aller. Créer des anciens paquets réactifs et installés avec succès. Et maintenant je suis à l'intérieur de notre répertoire pour que nous puissions voir nos fichiers. Et maintenant, nous pouvons écrire NPM start. Donc, avec cette commande, comme vous pouvez le voir, nous avons cette console interactive, donc fondamentalement créer une application trompée nous demande qu'il ya déjà quelque chose en cours d'exécution sur le pauvre 3000 et en fait c'est plus sombre. Et souhaitez-vous exécuter l'application sur un autre port à la place ? Et on dit juste oui. Et maintenant dans le navigateur, nous obtenons cet hôte local Ural 3002 et ici nous avons aidé l'application source et le pied sûr le sang. Donc, fondamentalement, quand nous avons sauté directement dans la console et aller à l'avant et à la source et par exemple, FG. Donc, ici, vous pouvez voir quelques chaînes que vous pouvez voir ici, éditer des sujets douloureux et enregistrer deux dépendants. Alors nous allons mettre quelques banques ici et puis vous juste quel orteil le navigateur et vous obtenez ce texte ici. Comme vous pouvez le voir, notre créer réagir, aide fonctionne, mais il fonctionne dans notre machine maintenant. Nous avons besoin de l'ajuster de façon à pouvoir l'utiliser à l'intérieur de Dhaka. Donc je vais quitter leur Web Serra sur notre front. Et pour l'instant et maintenant, nous pouvons sauter à l'intérieur de notre fichier de composition docker et essayer de créer un nouveau service pour notre front et et les sons fondamentalement les choses seront similaires comme nous l'avons fait auparavant. Donc, nous avons ici avant et dossier de construction et puis nous avons ici contiennent un nom qui Israël docker monde et ici sera front end et aussi nous avons besoin de ports et comme vous l'avez vu par défaut grande application nauséée est Ronnen Import 3000. Donc, fondamentalement, ici. On peut écrire 3000 3000 et ici on va le changer dans notre FBI. Donc ici, nous ne pouvons pas avoir le même port. Donc à l'intérieur, il y a 3000. Mais à l'extérieur, il sera alors 3001. Donc, ici, faisons tout similaire. Et restons au même nom. Et donc nous avons tout. Un port ici est un port spécifié. Donc c'est un à l'intérieur et un à l'extérieur. Et la même chose pour l'authentification Portis à alors ici nous devons. Et dehors. Nous devons aussi maintenant, c'est tout. Nos ports sont spécifiés. Maintenant, nous devons ajouter la propriété de redémarrage. Donc, le début sera à moins d'être arrêté. Et nous avons besoin de notre propriété pour le commandement. Donc, fondamentalement, la commande sera dans PM start. En fait, nous pouvons toujours écrire dans PM Ron, commencer par le bien qu'il est le même partout. Donc notre commande Andrew start est là, et si nous essayons de le démarrer maintenant, ça ne marchera pas. Et la question est pourquoi ? Parce que nous devrions avoir des problèmes avec cette console interactive afin que nous puissions essayer de la démarrer maintenant . Mais fondamentalement, ça ne marchera pas. J' ai déjà essayé, mangé et j'ai un problème au sein du conseil de la directive. Et puis j'ai googlé et le problème de l'air raison dans créer une application trompée avec trois x script. Donc, fondamentalement, il dit qu'une nouvelle version de Rex Creeps et en fait il n'y a pas si longtemps ne parvenait pas à démarrer à l'intérieur le dock. Donc, fondamentalement, le point est que nous devons spécifier des propriétés spéciales pour notre docker composer pour dire que nous voulons une console interactive. Donc ici pour ceux-ci disaient comme aujourd'hui en ouvert et il sera vrai entité U égale vrai et vous pouvez vérifier si vous voulez ce problème dans créer AB naufragé Et fondamentalement la solution avec Docker composer était exactement de fournir. Cette chose est ici, donc c'est vraiment important parce que nous avons chaud Montreuil Orden à l'intérieur créer un AB naufragé et nous voulons avoir un conseil interactif. Maintenant, essayons de démarrer notre docker composer comme vous l'avez vu, je l'ai déjà essayé et il se brise parce que nous avons un fichier DACA étroit ne peut pas localiser spécifié, ce qui signifie que nous n'avons pas créé de fichier DACA à l'intérieur de notre dossier avec front end. Et oui, c'est exactement manger. Et c'est pourquoi j'aime docker composer parce que le message est éteint. Les erreurs sont vraiment compréhensibles. Donc, fondamentalement, allons spécifier dans notre fichier docker avant et dossier, parce que sans Dr File, ce n'est pas un service et veulent réellement copier la base ici, fichier doc parce que je ne veux pas écrire à partir de zéro, ce qui signifie que nous prenons juste le dossier du médecin que nous avons déjà quand décrochage à l'intérieur connu. C' est vraiment important parce qu'un autre cas, nous ne pouvons pas installer des modèles de nœuds à l'intérieur pour notre front et nous avons un répertoire de travail ici. Nous copions notre piquet de grève Jason, comme vous pouvez le voir à l'intérieur et nous avons aussi choisi un Jason avec script et ainsi de suite. Donc, nous sommes runnin NPM installer et nous Korpi vieux fichiers. Donc maintenant, il devrait suffire de construire notre front end. Comme vous pouvez le voir maintenant, nous construisons avant et co ouvrir tous les fichiers et dans le style dans les paquets avec noeud à l'intérieur de leur conteneur. Comme vous pouvez le voir, tous les paquets que j'ai installés, nos images ont été construites et maintenant nous voyons le message qu'il a été commencé avec succès d'abord Awful. C' est vraiment agréable de regarder à l'intérieur du dossier ps pour voir les processus. Comme vous pouvez le voir, nous avons beaucoup de processus. Quatrième indication FBI puis fronton notre DB et HKTB Donc tout semble fonctionner Et maintenant nous pouvons ouvrir créer raked ab sur l'hôte local 3000. Mais bien sûr, il y a des changements mineurs que nous voulons faire. Tout d'abord, comme vous pouvez le voir, c'est le développement construit. Donc, en gros, nous sommes en production. Donc Docker compose Yam est pour la production. Il est bon de le tester comme ça mais fondamentalement plus tard, nous voulons ici pas de serveur Web de développement mais juste le construire pour la production et maintenir manger s CSS statique et JavaScript Pour l'instant, cela fonctionne , comme vous pouvez le voir, mais nos volumes ne sont pas là. Donc, fondamentalement, nous n'avons rien écrit concernant les volumes, ce qui signifie que nos changements dans le code ne changeront rien. Nous allons donc adhérer aux volumes juste pour la simplicité des tests. Donc fondamentalement, la même manière que nous l'avons fait pour notre développement, je vais faire de l'entreprise pour l'instant. Volumes ici à l'intérieur de l'avant et de la partie juste pour le bien hors d'un test rapide. Donc, comme vous pouvez le voir ici, nous avons des plaies de tarte. On n'en a pas besoin. Nous avons besoin de l'avant et de la source. Donc maintenant, quand nous changeons tout à l'intérieur et les plaies, nous allons le mettre à jour dans la source de l'utilisateur A pie source. C' est bien. Redémarrez simplement notre docker composer la construction. Et maintenant, quand nous changeons certains fichiers à l'intérieur et faiblit, il devrait être automatiquement changé. Comme vous pouvez le voir, il a été forcé avec succès. Maintenant, nous sauterons à nos FG à l'intérieur de notre front et nous allons juste là, il descend de l'intérieur du Dr Just Save. Et je n'ai même pas rechargé la page par moi-même. Mais vous pouvez voir ici qu'il a été mis à jour avec notre chaîne que nous avons fournie ici, ce qui signifie maintenant sans la construction avec l'aide de notre volume que nous avons créé juste avec une seule ligne, nous pouvons mettre à jour le code à l'avant et il est en train de compiler avec succès, ce qui signifie notre front et est déjà prêt, Toby a écrit. Et si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 16. Frde l'ordre dans la production: dans la vidéo précédente, nous avons créé notre front et service et cela fonctionne. Mais nous l'avons fait vraiment cru parce que voici notre confugue de production et comme vous pouvez le voir, où écrire des choses qui sont liées au développement. Donc, fondamentalement, juste pour vous rappeler que ce fichier est seulement pour la production. Si nous voulons remplacer certaines propriétés pour le développement, nous les remplacons dans notre jahmal supplémentaire avec le développement DOT. Donc fondamentalement, en ce moment, en développement, nous n'avons que quelques droits pour garder notre gars en informatique. Donc nous avons besoin ici d'ajouter aussi des choses sur front end et peut-être sur nous. Mais d'abord horrible. J' ai vu une propriété qui manque. Donc, comme vous pouvez le voir ici au FBI, nous avons dépend d'un p je d être copain Maintenant, nous n'avons pas écrit ça ici alors nous allons le baser maintenant. Ça devrait l'être. Cela dépend et ici devrait être à nous d'être. Vous pouvez vous demander ce qui se passera si nous allons retirer d'ici ? Ça dépend de. Et bien sûr, la réponse est que Docker compose ne sait pas quel ordre avons-nous besoin dans les services. Donc docker compose va juste démarrer un service comme c'est comme de haut en bas. Et c'est ça Fondamentalement, dans le cas avec dépend de Docker composer comprend. Ok, notre service dépend de notre base de données, ce qui veut dire que nous devons d'abord commencer à l'être. Et s'il ne le fait pas, nous obtiendrons des erreurs lorsque nous lancerons Doctor composé parce que la base de données d'authentification n'est pas là, mais nous essayons de nous y connecter. C' est pourquoi nous avons besoin d'ici. Ça dépend de l'être. Retournons à notre front. Et donc ici tout comme il waas que nous avons ici est à l'ouverture et tt vous et cela nous avons besoin pour cet observateur interactif de notre créer des volumes d'application de réaction étaient également nécessaires seulement dans le développement parce que nous voulons changer les fichiers Onley en développement. Donc, la question est, si ce fichier Israël concernant la production, nous n'avons pas écrit les choses correctement et c'est pour sûr Eat. La question est ce qui se passera si nous sautons à notre front et dossier et Ron et PM Ron construire. C' est la commande qui est conçue par create racked up et comme vous pouvez le voir ici, nous obtenons un message. Donc, créer une génération de production optimisée compilée avec succès. Donc, nous avons compilé notre front end et entendu des fichiers que nous obtenons est un résultat. Et voici quelques messages comme Toby, le dossier de construction est prêt à être déployé et vous pouvez le servir comme un serveur statique. Et exactement ce que nous voulons faire Nous voulons servir notre serveur comme esthétique. Qu' est-ce que ça veut dire ? Hors cours. Nous ne voulons pas de mantra chaud Seigneur dans la production si nous vérifions ici à l'intérieur de notre front et construisons Donc voici toutes les choses qui sont liées à la production. Donc fondamentalement ici, comme vous pouvez le voir à la place IQ avec KFC évaluer NGS et fondamentalement ici nos parts principales est avec bundled avec tous les paquets dont nous avons besoin, ce qui signifie que nous n'avons pas besoin de plus d'offres, source ou quoi que ce soit peut supprimer tous les fichiers à l'exception du dossier construit car seul ce dossier est nécessaire pour la production. Donc, fondamentalement, nous voulons commencer dans notre production notre serveur, qui servira des fichiers statiques. Et voici un bel exemple comment vous pouvez servir et démarrer le serveur statique afin que nous puissions installer paquet qui est appelé servir dans PM, comme toujours, et nous pouvons construire alors si auto moins que le dossier Building Buildings où servir tout , qui est dans le dossier. Donc fondamentalement ici dans la construction, nous avons l'index html, il est agrandi. Et ici, nous avons quelques dépendances pour notre esthétique pour chiite dit JavaScript et ainsi de suite. Donc c'est exactement ce que nous voulons faire. Donc, fondamentalement, pour le tester sur notre propre machine, nous pouvons écrire dans pm installer global et puis ici vous avez raison et servir. Et cela va installer le paquet de service et votre machine. Et puis vous pouvez commencer avec cette commande servir moins comme build et puis il va commencer. Comme vous pouvez le voir sur le Port 5000. Si nous voulons cracher C cinq conseil, nous pouvons monter moins l et puis le port est vous pouvez voir qu'il fonctionne également. Et maintenant sur l'hôte local 3001, nous gérons notre agrandi. Vous pouvez le voir dans les plaies. Il est agrandi html où nous avons notre CSS unifié et JavaScript. Donc exactement ce que nous voulons créer à l'intérieur de notre médecin composer Donc fondamentalement, vérifions. De quoi avons-nous besoin d'abord ? C' est horrible. Je veux sauter à l'avant et le dossier et regarder le fichier docker. Qu' est-ce qu'on a besoin de faire ici ? Fondamentalement, nous voulons le premier orteil, construire nos sources et nous pouvons le faire par Iranien dans le PM John Build. C' est exactement ce qu'on a fait ici. Comme vous l'avez vu. Tout d'abord, nous sommes vieux dans PM Ron build, puis considérons ce dossier de construction et vous pouvez dire OK, mais pourquoi ? On est juste là. Nous utilisons le fichier Docker pour la production et le développement. Et tu as tout à fait raison. Si vous ne voulez pas faire ce développement intégré parce que en fait vous n'avez pas besoin de vous pouvez créer deux fichiers médicaux différents un pour la production, un pour le développement. Par souci de simplicité, je vais juste coller le fichier dewandaka et en fait, oui, oui, Cette commande n'est pas nécessaire dans le développement, mais cela ne prendra pas beaucoup de temps. Et nous ne construisons pas sont des images qui souvent donc c'est bien. La prochaine chose que nous devons faire est d'installer à l'intérieur des cheveux foncés ce paquet de service. Donc fondamentalement, après cela, nous pouvons droite, Ron, en pm service global et pas serveur mais servir. Et cela installera ce paquet après avoir construit l'image afin qu'il soit disponible à l'intérieur . Maintenant, nous devons sauter la tour Docker composer dans changer notre commande. Donc pour l'instant, c'est NPM Ron Start. Et ce n'est pas ce que nous voulons commencer. On veut le faire maintenant. Servir comme nous l'avons fait ici. Vous vous souvenez Serve moins a en fait, nous pouvons copier coller de sorte qu'il devrait être servi moins s Construire des bâtiments un dossier. Et voici 3000 port fondamentalement exactement le même port comme il était ici. Ensuite, je vais commenter tout ce qui n'est pas nécessaire pour la production. Maintenant, écrivons Docker, composons, construisons et vérifions si cela fonctionne. Je suis ici un étroit que le service avant et est tombé à construire et PM moins G servir retour zéro froid. Évidemment, j'ai fait une erreur, vous savez, un dossier de médecin. J' oublie d'écrire et installer pm. Donc, ce n'est pas un ordre. C' est pourquoi je deviens un étroit Comme vous pouvez vous voir cette fois, je n'ai aucune erreur. Maintenant, rampons vers le haut. À un moment donné, nous devrions voir quelque chose qui est lié à servir. Donc, comme vous pouvez le voir ici, nous construisons avec succès tout. Et maintenant quelque part servir devrait être commencé. Donc voici une tarte et ainsi de suite. Et ici devrait être devant et est-ce. Voyez juste que je ne vois rien qui est lié à l'avant. Et mais il y a une commande spéciale pour voir les journaux hors du conteneur. Donc, nous savons le nom du conteneur qu'Israël World Docker Front et je vais copier. Et maintenant, nous pouvons monter les journaux DACA. Et puis le nom est Vous pouvez voir ici nous obtenons une info sauf dans les connexions et à la chaussure TPS hôte local 3000. Donc, fondamentalement, ce sont tous les journaux que nous obtenons de notre front du monde réel et mais il semble que cela fonctionne. Rechargeons la page. Et comme vous pouvez le voir ici, nous recevons notre page. Maintenant, nous allons champion orteil les plaies et comme vous pouvez le voir, il est magnifié. C' est donc exactement ce que nous avons préparé. Maintenant, vérifions si notre front et fonctionne toujours en développement. Donc, pour ceux-ci, je veux copier tout ce qu'ils ont commenté à notre mal de feu développé. Donc, voici le développement, et ici nous voulons créer le service avant et fin d'un tour à l'intérieur de plusieurs propriétés. Donc, c'est à ça qu'il ressemble ici est un espace vide juste pour la lecture. Et ici, tout d' abord, nous voulons une autre commande. Donc ici, le commandement sera dans PM Ron, la Mort. Comme vous vous en souvenez, c'est notre serveur de la mort. Je l'espère. Ou peut-être que je suis attiré. Beckett. Jason, on voit que notre commandement n'est pas sourd. Donc les commandes sourdes que nous avons faites dans nos projets d'IA. Mais c'est créer une application naufragée. Et le voilà. Commencez. Donc, je saute de retour pour développer et voici dans PM rants fatigués. Cela va démarrer un serveur de mort et ici nous avons nos volumes. Cette partie est vraiment importante parce que nous voulons changer les fichiers à la volée. Et ces choses sont importantes pour notre console. Maintenant, nous allons redémarrer une fois de plus notre docker composer et ici nous avons besoin fondamentalement, je veux le démarrer non pas pour la production mais pour le développement. Donc, il devrait être moins Avoir docker composer jahmal moins sept Docker composer développement Jahmal jusqu'à moins les esprits construits sur Dhere. Nous obtenons un étroit parce que je suis en face et dossier et pas dans le dossier correct. Donc, commençons à nouveau maintenant il fonctionne et vérifions si cela fonctionne avec la mise à jour à l'avant et comme vous pouvez le voir ici, je reçois dans leurs journaux que notre front et le service. Il a été démarré et vous pouvez déjà voir que cette partie est de créer une application nauséée et ce n' est pas la production. Construire un avec beaucoup de la page. Maintenant, il est, espérons-le, leur partie de développement. Alors vérifions si c'est le cas, nous allons sauter à l'avant et la source et les objets et juste ici Salut, je suis le développement, comme vous pouvez le voir ici, ma page waas automatique peu loué et je reçois ici le message Donc fondamentalement c'est exactement une idée. Donc, ici, nous avons raison dans tout, Ce qui est possible et sur le droit dans le développement Yama ont été écrasés dans les choses que nous voulons faire différemment dans le développement, c'est beaucoup plus facile que orteil. Juste un soutien. Deux fichiers différents qui ne sont pas complètement liés. Nous essayons donc de les fusionner aussi facilement que possible. Comme vous pouvez le voir notre front et ce succès Iran et dans la production. Et si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr 17. Exec docker: dans ce média 'll. Je veux parler de magie au moins j'espère que vous comprenez qu'il n'y a pas de médecin magique Insigne et je peux vous montrer quelques choses qui vous montreront qu'il n'y a pas de chef d'orchestre majeur complètement. Donc fondamentalement ici. Comme vous pouvez le voir, mon médecin a composé Israël de la leçon précédente et dans les consulats. Auparavant, nous pouvons conduire des journaux Docker, par exemple, ou daki ps. Donc Doc Ups montre nos conteneurs et nos journaux DACA. Et disons qu'avec le nom de rial world chi, on peut voir ce qu'on a dans nos serrures ? Donc, il concède beaucoup plus facile de comprendre les journaux ici, puis de les voir si nous les faisons défiler dans Dhaka composé comme vous pouvez le voir maintenant, notre créer effacé application supprimé et bloqué complètement l'écran afin de ne pas faire défiler en arrière. Donc, il a nettoyé tous les verrous de l'écran. C' est pourquoi la bière de Doc lui-même est beaucoup mieux festival qu'elle pense sur le rapport à un sarees. Et il est plus facile pour le sac et vous pouvez voir ici, par exemple, a commencé une tarte sur le port 3001 et ainsi de suite. Maintenant, je veux vous montrer une commande de plus qui est nommé DACA exact. Et qu'est-ce qu'il fait si DACA exact et puis moins I d et puis le nom du conteneur. Donc c'est quand nous voulons exécuter une commande à l'intérieur de notre conteneur, ce qui signifie que quand nous faisons juste quelque chose comme de l'air pour plein dans notre machine, cette commande se passe dans notre machine. Mais bien sûr, parfois nous voulons faire quelques commandes à l'intérieur des conteneurs Et la commande la plus populaire que je fais toujours est la commande d'aller à l'intérieur d'un conteneur dans un shell parce que fondamentalement vous ne voulez pas simplement écrire une fois Foo Foo et le péage veut normalement sauter à l'intérieur du conteneur, vérifier certains fichiers, vérifier certains journaux, changer quelque chose et ainsi de suite. Donc fondamentalement orteil aller à l'intérieur de la coquille hors conteneur Vous devez écrire DACA exact, puis moins 80 Et voici le nom de notre conteneur. J' ai pris, par exemple, une tarte et maintenant comme un juge que moi et Shell et nous frappons ici et ici et je suis déjà à l'intérieur conteneur. Donc ici, nous pouvons écrire, par exemple ppd et vous pouvez voir l'heure dans l'application source de l'utilisateur Et vous pouvez demander pourquoi ? Parce qu'ici à l'intérieur du FBI dans notre dossier docker a chuchoté notre répertoire de travail. Et ici, quand nous roulons, Hélas, vous pouvez voir que nous avons des fichiers qui sont liés à notre projet. Fondamentalement, tous ces fichiers, sauf les plaies sont corp dedans avec cette copie de commande et seulement le dossier source. Il travaille, comme vous pouvez le voir, pas ici. Mais si nous le construisons comme pour le développement, alors ce dossier sera à l'intérieur des volumes. Mais fondamentalement, quand même, vous pouvez aller à la source et voir ce qu'il y a là. Vérifiez le contenu du fichier, par exemple, et ainsi de suite. Donc, l'idée est qu'au moins vous pouvez sauter comme ça à l'intérieur du conteneur et faire quelques choses abord. C' est horrible. Vous pouvez comprendre que le conteneur n'a pas de magie, donc vous pouvez sauter à barre oblique et voir que c'est tout simplement tout à fait standard. Lynn ne ressemble à rien de grand, nouveau et bas. On va à l'intérieur de notre projet. Et comme vous l'avez vu ici à l'intérieur d'une tarte, il waas application source utilisateur Et c'est le dossier qui a été créé EP source. Et dans ce dossier notre projet est vivant et fondamentalement ici. On peut faire ce qu'on veut, peut-être commencer quelque chose et ainsi de suite. Mais c'est vraiment agréable approche lorsque vous devez vérifier quels fichiers ont fait certaines commandes à l'intérieur du conteneur comme,par exemple, par exemple, sentir la base de données de datation et ainsi de suite. Donc fondamentalement orteil sortir, vous écrivez juste sortie Et une fois de plus, Togo à Dhaka exact moins I t que le nom du conteneur et la commande hors cours. Vous pouvez vous joindre juste ici pour manger, mais ça ne vous donnera pas beaucoup. Oui, il a choisi plein et c'est en fait la sortie de votre conteneur. Mais normalement, vous voulez sauter à l'intérieur et faire quelque chose. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 18. Configurer nginx: dans les vidéos précédentes avec Mise en place réussie de nos services pour Front et A P I et authentification. Maintenant, il est temps de parler de la façon dont nous allons excès les services par le navigateur. Et pourquoi avons-nous besoin d'ingénieurs ici ? J' espère que vous avez déjà quelques connaissances avec Jinx, et sinon, alors vous pouvez simplement ouvrir dans les gènes, par exemple, Wikipédia et vérifier de quoi il s'agit. Donc, fondamentalement, c'est open source, problème de haute performance pour être serveur et proxy inverse et blah, blah, blah et des millions de fonctionnalités de hors. Il fondamentalement pour nous dans jinxes important parce que nous voulons en quelque sorte gérer tous nos services et ce que je sens par cela. Par exemple, ici, nous avons l'hôte local 3000 Donc supposons que nous sommes en production ici. Donc ma machine est maintenant un serveur de production, ce qui signifie, oui, c'est bien. Nous exposons 3000 port, mais pour l'instant, ce sera alors un AP comme photo AP A. Avoir et puis deux-points et 3000 hors cours. Normalement, les gens ne vont pas essayer quelque chose comme ça dans le navigateur. Pour accéder à votre site Web, ils écriront un nom comme riel world docker dot com et chardons. Comment fonctionne Internet. Vous avez un domaine comme le monde réel. Cela pourrait venir, par exemple. Et ce domaine est enregistré dans un enregistrement. qui signifie que vous avez assigné que leurs liaisons entre ce domaine et votre adresse AP , qui signifie que fondamentalement votre enregistrement sait dans quel AP Il devrait transférer la demande lorsque ce domaine est déclenché, qui signifie que nous avons raison dans le mais fondamentalement à l'intérieur il va orteils. Mon p comme ceci est où mon service Ranaan une terreur i p Et voici un deux-points et 80 et fondamentalement, il est toujours un T. C'est comment Internet fonctionne. Donc, par défaut, le port par défaut est 80 et nous ne le voyons pas. C' est pourquoi nous sommes juste dans le principal et la demande va ici. Donc c'est notre A p et puis 18. Et la question est de savoir comment nous pouvons gérer tous ces services si nous allons simplement à notre 21 Port 80 et nous ne savons même pas. Que devrions-nous faire avec cette demande ? Donc, fondamentalement, c'est là que dans Jinx entrent en jeu. Donc, nous avons un domaine et dans jinxes, quelque chose comme proxy entre tous les domaines et toutes les requêtes qui sont communes dans notre adresse A P dans notre serveur, puis dans les vérifications jinx. Ok, cette thèse, ce domaine ou ceci est ce projet et ensuite il proxie cette requête au projet spécifique , qui signifie dans jinx, est quelque chose comme une passerelle entre toutes les requêtes partout dans le monde et notre serveur vendu. C' est pourquoi nous voulons tout faire à travers et Gen x, qui signifie, par exemple, que nous avons un domaine. Supposons riel monde docker dot com ou, par exemple, pour local. Nous allons utiliser quelque chose comme DOT local. Et puis cette requête va à In jinx, nous allons créer dans jinx en tant que service supplémentaire, puis dans jinx, conflit à l'intérieur est configuré de cette façon. Qu' il sait dans le service de l'eau est devrait donner une demande. Par exemple, si c'est quelque chose comme barre oblique pleine, alors il devrait être déclenché devant. Et si elle est barre oblique e p I, par exemple, barre oblique pleine, alors nous savons que cela est lié à notre EP A, qui signifie les anciennes demandes Ouest, qui commence à partir de barre oblique AP. Je vais aller dans notre service du FBI, et s'ils commencent avec des chouettes slash, ils vont à notre service. Toutes les autres demandes vont directement à l'avant. Et c'est donc l'idée. Maintenant, nous allons implémenter notre in jinx, donc vous verrez comment cela fonctionne. Donc, nous voulons avoir à votre service ici en bas. Je suis en train de vous créer un service. Appelons-le, Jenks. Et l'image ici sera dans l'écurie de Jenks. Pin d'enfer. Donc fondamentalement, comme vous pouvez le voir ici, je n'ai pas créé de dossier. En outre, Ami Jinx, nous allons le créer plus tard. Mais pour l'instant, on n'a pas besoin d'orteils. Oh, ici, nous avons juste une image qui signifie que maintenant Docker compose sait que nous devons enregistrer le service et ne Seigneur pas cette image. Et juste pour vous rappeler que le pin ici signifie que ce sera la petite image. C' est ce que nous voulons exactement. Et voici le nom de notre conteneur. Ce sera des cheveux noirs du monde réel et ici en jinx et nous sommes presque prêts. Nous voulons ici la carte des orteils nos ports comme avec elle précédemment. Et nous voulons ici cartographier 80 toe 80, ce qui signifie 80 est. Le port où dans jinxes fonctionne à l'intérieur de notre service et 80 est le port de notre machine où le in jinx du service sera exposé. Ce qui est important, c'est que je pense que peut-être sur votre machine quelque chose utilise déjà le port 80 . Donc je vous recommande à la liste. Vérifiez si vous avez en jinx sur votre machine en cours d'exécution parce que normalement dans Jinx prend ce port . Et si c'est le cas, alors vous avez juste besoin de l'arrêter parce qu'il va entrer en conflit avec notre in jinx du service. Maintenant, nous voulons créer une configuration pour notre in jinx. Donc pour cela, je vais créer ici dans le dossier Jenks pour blesser les sarees. Et ici, nous aurons dans Jenks Corn chien prod. Et vous pouvez me demander pourquoi prod ? Parce que plus tard, nous créerons un conflit de plus pour notre développement. Alors vérifions. De quoi avons-nous besoin ici ? abord, Tout d'abord, nous avons besoin d'une section de service et nous écouterons sur 80. C' est donc la pensée standard. Et ici, nous avons besoin d'un nom de serveur. Fondamentalement pour nous n'a pas d'importance. Mais nous allons ici,par exemple, par exemple, le même ce qui est écrit à l'intérieur de notre projet. Donc ici, nous avons rial monde un camp. Alors que l'homme que notre monde hôte Israël maintenant ici, vous ne devriez pas oublier point-virgule et Fondamentalement, c'est manger ce que nous avons besoin alors nous avons des sections de localisation. Donc, quelles sections Allocation ici dans l'emplacement. Vous pouvez spécifier. Que faites-vous avec une demande spécifique, par exemple, nous pouvons dire OK, nous avons ici une barre oblique, puis un cas de thèse. On fait quelque chose avec plaisir. Au revoir. Pour l'instant, je veux commencer avec juste barre oblique. Slash signifie que toutes les requêtes vont à l'intérieur. Et ici, nous voulons écrire des pars proxy sur Dhere. Http. À l'avant et ici. 3000. C' est ça. Et maintenant, nous devons en parler. Alors, qu'est-ce que le proxy passe ? Comme il est évident à partir du nom, il est proxy dans leur requête à cette pensée. Et fondamentalement, comme vous pouvez le voir ici, c'est une chaussure TP avant et puis 3000. Donc vous pouvez deviner que c'est notre service. C' est ce front de service. Et c'est 3000 port. Ce qui est vraiment intéressant est cette question tp avant et fondamentalement hors cours à l'extérieur sur notre machine ou dans la question Internet, tippy front et n'existe pas. Mais DACA et docker composent. Permettez-nous à travers le réseau de construire votre autre et de les utiliser et c'est vraiment le futur tueur. De mon point de vue hors Docker composer parce que pour l'instant nous pouvons utiliser certaines choses qui existent sur Lee à l'intérieur de nos conteneurs et pas à l'extérieur. Et nous communiquons entre les services via le réseau, ce qui signifie que tout est super étendu à partir du serveur lui-même. Maintenant, nous devons utiliser ce fichier et la question est, comment très facile avec les volumes. Donc, ici, nous pouvons écrire que nous avons besoin d'enregistrer des volumes également en ligne. Comme Dash. Et nous sommes ici dans Jinx Slash moteurs conflit large. Et ce fichier que nous voulons mettre à l'intérieur de ce service dans DTC à Jenks et ici la configuration point de slash ingénieux contre. Donc, fondamentalement, nous voulons remplacer ce fichier dans Jinx Khan avec notre configuration hors moteurs. Une autre chose que nous devons faire ici est d'écrire dépend parce que, comme vous pouvez le voir ici avec la route à l'intérieur dans l'emplacement jinx, chemin proxy et si cela ne sera pas disponible, par exemple, il est en panne. Alors il va se casser. Nous ne voulons pas de Drake, alors nous allons le sécher devant, ce qui signifie que nous devons commencer avant et premier pour démarrer nos moteurs, donc ça devrait nous suffire. Alors commençons avec notre médecin composer. Et tout d'abord, nous voulons tester notre construction standard de production. Donc, c'est construit et construisons maintenant. Donc ici, ma composition docker est commencée. Mais comme vous pouvez le voir, c'est difficile à voir. Écoutez quelque chose parce que nous avons trop de serrures. C' est pourquoi j'ai écrit Docket Blog et puis le nom de notre service in Jinx comme Real World Doctor à Jennings et frappé Entrée. Et ici vous voyez des journaux spécifiquement concernant notre service est que vous pouvez voir ici nous avons un pour une erreur nom de serveur de directive inconnue. Donc je ne l'ai pas écrit correctement ici entre sept nom et le nom. Nous ne devrions pas mettre une colonne ici, donc elle devrait être écrite comme ceci. Redémarrons à nouveau et vérifions si cela fonctionne. Et encore une chose que j'oublie de changer ici, Monsieur, le nom devrait être là vraiment animateur show. Donc, il ne devrait pas être seulement vrai monde DACA, mais hors cours dot com Si nous sautons maintenant à notre navigateur que vous pouvez céréales étaient médecin qui calment bien sûr. Ce n'est pas notre domaine et nous ne l'avons pas acheté. Alors, comment nous contesterons avec ce domaine ? Notre serveur. Donc fondamentalement ici disaient le nom du serveur et dans notre fichier d'hôtes UTC, nous pouvons spécifier notre nom, donc il sera approximativement sur notre hôte local. Donc, en gros, si vous ne savez pas ce trou du cul, c'est un fichier spécial. Vous pouvez lire à ce sujet dans Wikipédia, par exemple, c'est le nom d'hôte. Donc, nous avons roulé leurs ports et les hôtes dans ce cas est que vous pouvez voir ici vous pouvez écrire Ceci est hôte local et sur la droite, le nom que nous avons besoin. Donc, fondamentalement, nous voulons que ce nom orteil soit résolu dans notre hôte local, qui signifie que nous pouvons tout simplement ici la ligne comme ce hors cours résultant chaussure TPM donc je pourrais juste être collé. Et puis ce domaine que nous avons écrit ici ne cherchera pas sur Internet ce domaine où il est enregistré. Mais tout d'abord, il essaiera de le résoudre dans la machine locale, ce qui signifie que nous avons juste une sorte de piratage pour être résolu dans notre machine locale. Et c'est vraiment sympa pour le développement local lorsque vous voulez un test de niveau de domaine, par exemple, verrou de points DACA du monde réel Oh, vous pouvez simplement écrire dans les hôtes ce fichier et ensuite utilisé son domaine normalement dans et non local hôte. Et fondamentalement, comme vous pouvez le voir, après avoir ajouté cette ligne à l'hôte local par magie étaient sauter dans le calme réel DACA et nous voyons notre front et le service. Donc, parlons une fois de plus, comment cela fonctionne du tout. Donc, fondamentalement, quand nous montons cette ligne à l'intérieur de notre hôte UTC, Ou peut-être si vous êtes dans Windows, alors vous pouvez juste google pour les fenêtres de fichiers hôtes. Et si je me souviens correctement, c'est dossier insistant sur Vous pouvez vérifier dans un système de liaison que les pilotes. Vous le faites et il y a ce fichier hôte. Donc fondamentalement là, vous devez ajouter cette ligne que vous voulez résoudre ce domaine à l'intérieur local, puis ce domaine passe au port 80. Mais nous ne voyons pas que ce soit le point le plus important. Et maintenant, écoutez si je vais fermer les hôtes et ouvrir notre à Jennings. Donc, ici, nous sommes en train d'exposer. C' est notre in jinx to port 80 ce qui signifie quand nous sommes juste ici notre domaine ou le principal 80 . Ensuite, on va à l'intérieur de Jinx à Dhaka, à l'intérieur de ce service. Et puis nous allons à notre dossier de conflit in Jinx. Et nous y voilà maintenant. Ok, c'est notre nom. Et quand l'emplacement est barre oblique, nous devons passer par proxy il orteil question TP avant et trois solvant. Et c'est notre service, qui est commencé. Et ce qui est plus important, c'est que maintenant, ici, nous n'avons pas besoin d'exposer le sport. Pourquoi c'est ça ? Parce que nous avions besoin de ça pour notre hôte, pour notre machine locale. Ce que vous voyez ici dans la configuration, ce n'est pas une machine locale. Il s'agit d'un réseau noirci spécial où tous les services peuvent communiquer ensemble, ce qui signifie que nous n'avons pas besoin d'exposer les ports. Dhaka a des forums de ce genre. C' est pourquoi quand nous avons juste arrêté et les pluies ont dit que je pourrais composer à nouveau, cela fonctionnera complètement comme précédemment parce que c'est le proxy Pasto le service. Ça n'a rien à voir avec notre hôte. Oui, bien sûr. On peut avoir le sport pour l'exposer et l'utiliser à l'extérieur. Mais en fait, ça n'a aucun sens. Donc nous sommes ici en production. Donc, nous testons le moule de production et c'est notre domaine. Et comme vous pouvez le voir notre front et fonctionne et la même chose que nous ferons pour local. Donc, nous écrivons juste un autre orteil de domaine. Nos hôtes fichier, par exemple, que local, puis ici. Nous n'avons pas non plus besoin d'exposer les ports. Mais bien sûr, ici, nous aurons d'autres commandes, mais il va sauter orteil le même front et le sirop. Donc ici, j'ai redémarré, mon médecin a composé. Et comme vous pouvez le voir, cela a fonctionné comme précédemment. Donc fondamentalement, comme vous pouvez le voir dans cette vidéo avec la tour supérieure de Jenks, qui est agréable, n' est pas à l'intérieur de notre machine. C' est à l'intérieur de Dhaka. C' est un service supplémentaire, qui est juste lier orteil 80 port sur notre machine, puis à l'intérieur. Il gère tous les services par sa santé. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 19. Demandes de Proxying api: dans les médias précédents. Nous avons configuré notre service in jink afin que nous puissions maintenant rendre notre front et sur le domaine dot com du monde réel . Dans cette vidéo, je veux parler d'un plis et comment nous voulons procéder avec les demandes. Donc, en gros, quel problème avons-nous ? Supposons que nous ne fournissons pas de tartes publiques. Donc nous créons juste un site web et pas un projet où les gens peuvent accéder à notre tarte A de l'extérieur et l'utiliser, ce qui signifie que notre FBI est juste à des fins internes. Quelles approches pouvons-nous adopter pour mettre en œuvre l'E P I et que voulons-nous exactement réaliser ? Donc fondamentalement, disons qu'on est juste en face. Et donc nous sommes ici à l'intérieur de notre application créer naufragé et ici avec une fonction d'application,par exemple, par exemple, quoi que ce soit. Et à partir d'ici, à un moment donné, nous voulons obtenir des données et nous sommes juste dans, comme, chercher ou accéder ou n'importe quelle bibliothèque que vous préférez récupérer des données et ici devrait être une peinture murale qui obtiendra les données de notre FBI. Voici donc quelques peintures murales de notre e chi et ici, par exemple, barre oblique qui est un post de rebond. Ensuite, nous avons un peu froid retour où nous obtenons ce post et ici nous faisons quelque chose avec eux comme set State, par exemple. Et voici les messages. Fondamentalement, c'est la première approche dont nous avons besoin. Donc, de notre front et de notre service, nous voulons communiquer via http avec nos A pacers. Et puis nous avons besoin exactement de la même chose. Par exemple, dans notre service A pie. Fondamentalement, notre service huit n'a pas besoin de faire quoi que ce soit avec fronton, ce qui signifie que notre EPA est juste là. Il communique avec la base de données, mais au moment où nous voulons vérifier les données utilisateur actuelles, nous devons obtenir des données du service d'authentification. Donc je suis dans notre service du FBI. Et disons que lors de l'initialisation de notre service, nous voulons récupérer quelque chose de notre réponse de l'authentification, ce qui signifie ici quelques euros de notre maison. Le FBI doit être soutenu. Également hors cours. On ne dit pas état ici, mais on fait quelque chose comme si on revenait. Par exemple, l'utilisateur actuel et vous pouvez demander pourquoi nous arrivons ici. Utilisateur actuel, Disons que nous pouvons excès, Par exemple, certains posés sur Lee quand nous sommes le créateur de ce post, qui signifie que nous devons vérifier si l'utilisateur actuel lorsque nous sommes verrouillés avec l'utilisateur actuel est la même chose, comme l'auteur hors de ce post. Donc ça veut dire que notre syndicat doit donner un peu d'excès pour notre empire. Et aussi il était arrivé que notre front et que vous voulez récupérer l'utilisateur actuel directement de authentification E payer, ce qui signifie qu'il est comme avant et n'a pas besoin d'être utilisé par quoi que ce soit, sauf lui. J' ai besoin d'être utilisé par l'avant et notre authentification est nécessaire pour être utilisé par front et e chi. C' est donc exactement ce que nous voulons réaliser. Et dans cette vidéo, nous allons essayer de faire quelque chose comme ça d'abord, créons notre test une tarte où nous pouvons pêcher quelques données. Commençons par notre service d'authentification. Donc, ici, nous avons index et nous avons créé ici notre itinéraire avec test slash où nous avons envoyé quelques textes juste pour savoir que notre service fonctionne correctement. Maintenant, je veux copier ceci et ici, nous voulons slash utilisateur actuel. Donc, fondamentalement, je vais garder ça simple. Je ne vais pas implémenter toute la logique sur les discussions de poulet de l'utilisateur actuel et la base de données. Je dis simplement d'accord, j'ai la demande de l'utilisateur actuelle et cela peut être, par exemple, valide ou non valide. Donc, fondamentalement, nous pouvons simplement dire ici, arrêter Jason et nous retournons ici un objet de l'utilisateur actuel. Disons qu'il a un d 123 et nous avons un e-mail, et il sera plein à gmail dot com. Donc, fondamentalement, nous avons juste basé les données de l'utilisateur actuel que nous venons d'envoyer leur. Maintenant, vérifions si ça marche. Donc, pour ceux-ci, fondamentalement, cela devrait fonctionner hors de la boîte si nous commençons le développement, Sarah ou nous pouvons le faire, par exemple, avec build. Mais alors nous voulons attendre jusqu'à ce que la construction complète soit prête. Alors vérifions dans le navigateur. Ici, nous avons le cheval local 3002 slash utilisateur actuel et nous recevons notre demande empire . Mais bien sûr, ce n'est pas ce dont nous avons besoin. De quoi avons-nous besoin ? Donc nous avons un domaine Riel monde, ou ça pourrait venir d'un local ? Nous aurons point loco, mais ça n'a pas d'importance. Le fait est que nous voulons en excès votre l, par exemple, de Let's Start, par exemple, de avec le service EPA. Donc, en gros, on est là et il a jamais voulu faire une demande pour ça ? Votre l et bien sûr, hôte local 3002 n'est pas correct, parce que ici nous ne savons rien sur l'hôte local Une serviette ici est que nous sommes à l'intérieur de Dhaka , ce qui signifie que nous devons communiquer avec d'autres services via le Réseau de médecins. Et ici, nous pouvons le faire de la même manière. Comme avec fait dans Docker composer quand nous avons roulé ici, ce manga votre l Comme vous pouvez le voir ici, nous avons utilisé le nom de notre service de la même manière que nous pouvons le faire lorsque nous récupérons des données d'un service à l'autre. Mais pour le rendre flexible, je veux tout configurer à travers des variables d'environnement. Donc, ici, je suis dans une tarte et je veux une nouvelle variable d'environnement, qui sera appelée, par exemple, hiboux appliquent Ural, et nous le prenons de l'environnement de processus, hiboux, FBI, votre l, ce qui signifie que notre service ne sait toujours rien sur les configurations. Et c'est bien sûr, bien. Donc, créons cette propriété maintenant à l'intérieur de notre docker composer. Donc, ici, je suis dans le mauvais service, et ici nous avons des variables d'environnement et nous pouvons dire ici que les heures un salaire votre l égal et entendre ce que nous voulons. Donc ici sera http que le nôtre. Et le port et notre sport est 3002. Et vous pouvez penser que cela est lié aux sports e, mais ce n'est pas le cas. Et nous allons supprimer les sports d'ici parce que nous parlons de planches hors réseau Dhaka , ce qui signifie que c'est le port où l'application fonctionne à l'intérieur de Dhaka et le sport est 3002. Ce qui signifie que c'est pourquoi ici est aussi 3002. Et cela vous pouvez voir que nous utilisons ici, pas l'hôte local à quelque chose. Mais ces hôtes spéciaux de Dhaka et c'est le service de nom de service hors service d'authentification. Et en fait, nous voulons ici aus a Oural. Donc ça n'a aucun sens ici de simplement écrire la base. Ural, nous voulons ici slash ap I et puis remontons dans notre FBI et dans la source. Et ici, quand le service a commencé, je veux Consul, enregistrer nos chouettes une tarte, Ural, qui sera maison une tarte Hural. Mais maintenant, nous avons besoin d'un orteil importé ici sur le dessus. Donc c'est Kama heures une tarte, Ural. Donc, comme vous pouvez le voir maintenant, il provient de variables d'environnement et maintenant nous pouvons l'utiliser ici. Donc, redémarrez notre docker composer et voir si cela fonctionne, comme vous pouvez le voir ici maintenant, nous avons dans le monde réel ok, par une ligne. Tous les trois paires votre URL est http aus 3002 et un temps qui signifie que cette variable d'environnement est là et maintenant nous pouvons récupérer des données. Et pour ce faire, nous devons installer un paquet supplémentaire dans notre FBI. C' est ce qu'on appelle l'excès. Donc, fondamentalement, si vous ne savez pas ce que fait ce paquet, c'est vraiment sympa Package pour l'avant et et appelé, ce qui signifie pour un GS incliné et connu JavaScript où vous pouvez simplement récupérer des données partout. Donc, vous venez de l'installer et puis vous écrivez exhales obtenir, puis un peu d'euro, et puis vous obtenez une réponse. Et à l'intérieur de la réponse, vous avez des données points. Vous pouvez faire attraper et le son. Donc c'est vraiment une bibliothèque sympa. Je l'utilise partout. Donc il a jamais voulu l'installer avec NPM, installer l'excès dans notre dossier du FBI. Maintenant, nous l'avons installé. Et voici, vérifions comment nous pouvons faire une demande de notre singe I à notre FBI du Sud, donc pour ça je vais créer dans votre chat. Et ce sera, par exemple, test avec l'utilisateur actuel. qui signifie que l'idée est que c'est un peu un tarte et un point où nous voulons obtenir des données supplémentaires sur. Utilisateur actuel. Donc, c'est juste à des fins de test, bien sûr. Mais cela montrera comment nous pouvons surpasser notre service avec l'authentification à l'intérieur de notre empire. Donc, fondamentalement ici, nous avons demandé une réponse et nous voulons faire une requête de récupération. Donc, pour cela, nous avons besoin ici d'importer l'excès et cela est nécessaire excès. Et maintenant, nous pouvons faire nos demandes de get. Donc ici, nous faisons l'excès obtenir et nous avons ici des heures d'orteil excessif, une puissance de votre l. Et comme vous vous souvenez ceci est votre l Donc ici nous l'avons décrit. Il s'agit d'une barre oblique, qui signifie que si nous voulons dépasser notre utilisateur actuel, nous avons besoin de l'Ural pour contenir le salaire de barre oblique. Donc, nous allons sauter dans l'index d'indication de sidles Donc ici, nous venons de créer slash utilisateur actuel, mais il devrait être slash ap je slash utilisateur actuel et ensuite nous retournons notre utilisateur. Donc, c'est ce que nous voulons chercher ici donc ce sera une demande avec une barre oblique une tarte. Et maintenant nous pouvons l'obtenir dans les années 80 avec partie actuelle Hughes. Euh, et comme vous pouvez le voir dans la mention élogieuse ici, on arrive et on attrape. Nous allons juste ici et ici nous allons obtenir une réponse. Donc, la réponse est un objet avec beaucoup de propriétés, mais pour nous est intéressant. Données de réponse Onley sur les orteils. C' est exactement là que les données de réponse sont traitées. Donc ici, nous voulons Rez. Jason. Donc, nous voulons juste montrer quelque chose à l'écran. Et disons que nous disons ici que c'est quelque chose lié au test avec l' utilisateur actuel . Donc, revenons simplement cela à true en tant que variable. Et nous voulons ici pour montrer les données utilisateur actuelles utilisateur de notre et ici, disons que la réponse ne donne pas de données. Donc, une fois de plus, nous construisons à l'intérieur de notre un pin votre sécheresse où nous récupérons d'abord notre utilisateur actuel de notre route d'authentification sur le service Indication. Et puis nous avons juste utilisé ces données de réponse pour montrer quelque chose à l'utilisateur quand nous avons récupéré ce test était l'utilisation actuelle. Hum, donc ça a l'air bien. Redémarrez notre docker composer et voir si cela fonctionne Quand ils regardent dans le navigateur Voici test de cheval local 3001 était l'utilisateur actuel que je reçois peut obtenir quelque chose parce que j'oublie ici de mettre slash Alors essayons encore une fois. Maintenant, comme vous pouvez le voir, il fonctionne comme prévu Donc ici nous sommes accès à notre autre indication mais en interne ont été récupérés et l'utilisateur actuel de notre service hors attente indication et retournera quelques données l'utilisateur actuel ici, qui signifie que c'est vraiment une bonne approche de travailler entre les services. Donc, comme vous pouvez le voir, nous n'avons pas besoin de faire quelque chose que nous avons juste besoin dans notre docker composer yah mo pour spécifier correctement , par exemple, une tarte Ural. Et puis nous construisons juste une tarte entre les services et nous pouvons récupérer des données entre eux. Ce qui signifie, par exemple, nous pouvons faire comme, 10 yeux de plus et affaiblir l'excès de chaque FBI en interne et c'est vraiment la sécurité hors la boîte parce que normalement quand vous créez juste plusieurs projets et par exemple, vous les avez mis en un seul. Monsieur, vous communiquez entre des urals publics comme, par exemple. Disons ici que vous faites la demande en interne, mais aussi avec l'adresse P hors de leur serveur et ici avec un réseau DACA spécial. Nous en parlerons lors de la prochaine conférence. Mais fondamentalement, l'idée est que rien en dehors ne peut jamais obtenir des données d'ici. Comme de cette authentification. Parce que nous n'exposons aucun port pour l'extérieur, ce qui signifie Onley, nos services docker internes peuvent récupérer des données de l'un sur l'autre. Donc, c'est pourquoi j'aime cette approche de composition docker parce qu'elle est super sécurisée hors de la boîte. Comme vous pouvez le voir dans cette vidéo, nous avons récupéré avec succès des données d'autres services. C' est ainsi que cela se fait très rapidement et facilement. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 20. Réseau Docker: dans cette vidéo. Je veux parler des réseaux DACA, mais l'automne festif. Vérifions comment on peut utiliser notre FBI à l'intérieur de notre autre. Indication eBay. Donc fondamentalement, nous avons exactement la même approche, donc nous pouvons copier à partir d'une tarte. Ces trois paires, Ural et ici à l'intérieur de notre service hiboux utilisent d'innombrables FBI, Ural. Et ici, nous n'avons pas d'heures, mais nous avons une tarte et des ports 3001 comme ça a été défini ici. Et juste une fois de plus, nous n'utilisons plus le sport, car ici le sport était sur Lee pour sauter orteil cet hôte directement dans le navigateur et pour le vérifier à partir de notre machine locale. Maintenant, ici à l'intérieur de nos heures étaient uneà rare dans les sports la dernière fois juste pour tester si tout fonctionne principalement à partir du navigateur à l'intérieur de notre machine locale. Donc, en gros, ici nous avons votre l. Et maintenant nous devons sauter à l'intérieur et installer l'accès comme nous l'avons fait auparavant pour un tuyau. Donc, fondamentalement, le froid sera exactement le même. Alors allons ici à l'intérieur du chi et copier-coller, par exemple, cette demande, fondamentalement première de l'automne dans notre FBI, nous devons créer certains que vous demandez où nous pouvons obtenir des données pour notre authentification service. Fondamentalement, il peut être que, par exemple, avec la demande de l'utilisateur actuel, nous avons besoin d'envoyer des données en plus de notre FBI, par exemple. Certains que je ne connais pas les cours ou les articles hors de l'utilisateur et ainsi de suite. Alors créons ici. Une demande de plus ab get, et voici un test a pi données, et nous allons simplement retourner ici nos données pour notre pin. Alors repose-toi, Jason. Et ici, disons des données de tarte savoureux. Je ne sais pas. Vrai. Et ce sera la demande que nous allons récupérer dans notre service d'authentification. Allons maintenant à notre service de syndication. Très d'abord besoin de copier ce ab GATT parce que nous voulons créer la même chose à l'extérieur l'intérieur des hiboux. Donc, ici dans l'index, comme nous pouvons le voir, nous avons plusieurs AB obtient déjà pour tester pour obtenir un utilisateur actuel. Et voici un de plus ici sera testé avec l'utilisateur actuel. Renommons le test avec des données de secteur. Et comme vous pouvez le voir ici, nous avons tout le pouvoir. Ural, nous ne l'avons pas ici. Mais ici, nous en avons besoin. Vous êtes rebelle, et ce sera une paire. Votre l et nous prenons de l'environnement de processus une tarte. Oural. Maintenant, nous allons importer cette propriété ici. Donc, il est un pouvoir votre l et l'utiliser pour récupérer des données. Donc c'est votre L. et vérifions encore une fois ce que nous avons ici. Donc, il waas barre oblique et test avec pas avec l'utilisateur actuel test il I données d'abord. Affreux. J' oublie encore une fois la barre oblique. Et deuxièmement, nous voulons parfaire assis ici avec la tarte parce que nous sommes préfixés dans notre extérieur une tarte, Ural dans l'environnement wearables il aussi avec slash e p I Donc voici slash e pi slash testé par les données. Et ici, comme vous pouvez le voir, c'est notre service d'authentification. Nous recevons des données d'un joueur votre l et voici tester une donnée pi, et nous avons juste une réponse. Alors nomme-le tester une donnée pi. Vrai. Et voici quelques données de notre réponse. Donc, fondamentalement, comme vous pouvez le voir ici, nous avons testé les données de parry. Donc, nous allons juste avoir une propriété tester un datum de tarte, Mais nous allons courir la date à partir des données de la pensée de réponse point testy p i données. Donc fondamentalement répondre aux données orteils. C' est cet objet et nous venons de lire à partir de leur testé par les données et de le retourner ici. Maintenant, nous allons construire une fois de plus notre docker composer et vérifier si cela fonctionne. Donc, quand je suis allé au navigateur, je vois l'époque où l'accès n'est pas défini. Voici les outils de l'hôte local 3000. C' est donc notre serveur d'authentification et c'est notre demande. J' oublie juste ici l'accès à l'importation des orteils, donc l'accès est nécessite un excès. Maintenant, nous devons le recommencer une fois de plus, et j'espère que cela fonctionnera. Comme vous pouvez le voir. Maintenant, nous obtenons la succession, je les données vraies. Et ceci est fondamentalement une variable de notre demande supplémentaire à notre FBI. Donc c'est notre authentification. Obtenir la demande. Tellement la puissance était les données. Vous pouvez le voir ici, et nous allons chercher avec excès. Certaines données de notre EPA, Ural, Ural, et nous avons créé cet EPA Ural à l'extérieur dans l'environnement où les rebelles et puis reviendront ici . Données de réponse testées par les données. Ainsi, comme vous pouvez le voir, nous pouvons tout simplement configurer pour que nos services puissent fonctionner entre eux. Maintenant, la question de savoir comment les réseaux fonctionnent à Dhaka du tout, donc tout d'abord, ce que je peux dire pour vous, c'est que quand on vient juste ici quelques services docker composer auto par magie créer un réseau pour nous, ce qui signifie par défaut qu'il n'y a pas de réseau là-bas et qu'un docker compose haut. C' est cela et nous obtenons juste par défaut que tous nos services peuvent communiquer. Et ils pensent que c'est vraiment sympa parce que tu peux entrer à Dhaka. Environnement et Docker composent le plus souvent parce que cela ne fonctionne que pour vous et vous pourrez apprendre plus tard. Comment donc Maintenant, le temps est venu et nous devons apprendre comment cela fonctionne. Donc, fondamentalement, réseau est un nouveau terme concernant l'environnement docker que nous ne connaissons pas encore, donc nous connaissons les images de conteneurs. Maintenant, nous connaissons aussi les volumes et le nouveau terme est réseau. Qu' est-ce que ça veut dire ? Réseau ? Je pense que tu l'as tiré du nom. C' est le doc et le réseau à l'intérieur desquels nos services médicaux peuvent communiquer et vous pouvez configurer ce réseau de différentes manières et il est vraiment efficace. Et c'est le bon outil que j'aime vraiment. Donc, fondamentalement, nous voulons d' abord savoir comment nous pouvons vérifier quels réseaux avons-nous. Donc nous sommes dans le réseau Dhaka et nous recevons de l'aide de Dhaka. Donc, Docteur, réseau et commande ici comment nous pouvons gérer les réseaux afin que nous puissions nous connecter pour le contenir réseau et vous pouvez obtenir le point. Donc, nous sommes grand, réseau plus rapide et puis nous connectons certains services ou conteneurs Toe ce réseau peut également se déconnecter, inspecter et voir le moins. Alors vérifions la liste. Comme vous pouvez le voir ici, nous avons plusieurs réseaux et en fait il ne dit rien du nom ici. Celui-ci est tout à fait compréhensible. Les autres ne sont pas si fondamentalement riel monde par défaut DACA est un réseau qui a été créé par magie pour nous par docker composer. Et comme vous pouvez le voir, le conducteur ici est une brèche et nous n'avons rien écrit concernant les réseaux. Mais tous nos services sont dans ce réseau et c'est pourquoi nous pouvons communiquer entre les services parce qu'ils sont dans le même réseau. Le blanc de risque. Beaucoup de documentation concernant les réseaux dans le fichier composé de Dhaka et ici pour nous est intéressant comment nous pouvons créer notre propre réseau et comment nous pouvons les configurer. Donc, fondamentalement, le type de réseau par défaut est pont et vous pouvez vérifier ici, par exemple pont et vous pouvez voir quel est-il ? Presque tous mes projets que je fais avec un seul réseau pour tous mes conteneurs et ils ont créé manger à la main parce que dans ce cas, il est plus facile de comprendre de quoi il s'agit et quels services sont dans le réseau. Aussi que le pilote était par moi par défaut dans le moment de violation. Donc ici, au lieu de la valeur par défaut d'Israel World Doctor, nous pouvons décrire notre propre réseau. Donc, fondamentalement, ici au bas, où souhaitent avoir des volumes, nous pouvons ajouter une nouvelle section et ce sera des réseaux. Et ici, dans les réseaux, nous pouvons monter que nous avons réseau et nous allons le préfixer avec le monde réel Docteur parce que ce sera clair. Donc, nous avons Riel monde réseau obscurci et ici nous pouvons spécifier que le conducteur est pont. C' est ça. Donc, fondamentalement, c'est exactement la même chose. Qu' est-ce que pour nous par défaut Docker composer et vous pouvez demander, Pourquoi avons-nous besoin de le spécifier par nous-mêmes, en fait avec aube, mais pour le cas où nous comprenons comment il fonctionne et nous pouvons alors simplement dire quels services devraient être dans ce réseau et ce qui ne devrait pas. Nous pouvons maintenant fournir ce réseau pour nos services. Maintenant, la question est de savoir comment spécifier ce que font les réseaux. Le chef, par exemple, dans le service de jinx. Pour cela, nous avons des réseaux de propriété et à l'intérieur nous venons d'essayer le nom. Dans notre cas, ce sera Riel World Docker Network. Et maintenant, nous allons faire face à ces problèmes et ajouter le pied chacun de nos services parce que fondamentalement nous n' avons pas d'autres réseaux et cela n'a aucun sens pour nous de créer plusieurs réseaux. Pourtant, dans des projets plus complexes, nous pouvons le faire. Mais on n'en a vraiment pas besoin ici. Donc, comme vous pouvez le voir, j'ai ajouté des réseaux avec notre réseau qui ont été créés pour tous nos services. Et maintenant nous explicitement Assane, quel réseau avons-nous ici ? Donc, c'est le réseau standard, qui est pont. Et maintenant, quand on commence ici. Donc nous avons raté notre composition docker. Et comme vous pouvez le voir, il y a une ligne créée monde ferroviaire réseau ou réseau à came avec pont conducteur. Maintenant, quand nous écrivons un peu moins ici, vous pouvez voir le nom et en fait le nom est assez mauvais parce que, comme vous pouvez le voir, nous avons le nom deux fois ici est le nom rial hors du réseau. Et ici avec le parfait hors EP, Nous pouvons le laisser comme ça parce que fondamentalement ce que nous voyons dans le fichier jahmal est seulement ce nom. Et pour moi, c'est beaucoup plus compréhensible que le simple réseau de noms ou le réseau par défaut. Et fondamentalement ce nom ici, nous ne voyons vraiment pas. Mais comme vous pouvez le voir, c'est ainsi que nous pouvons spécifier les réseaux pour nos services. Donc, ici tout est commencé. Et quand le Seigneur était-ce notre demande ou notre tarte ? Tout fonctionne comme avant. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 21. Proxy Frontend: Dans la vidéo précédente, nous avons parlé des réseaux et fait des demandes de notre service sud à notre service API. Dans cette vidéo, je veux parler de front et de service et comment nous pouvons faire des demandes de front et de service à notre A P I ou notre service à la maison. Vous pouvez penser que ça fonctionnera exactement de la même manière, comme notre empire ou le Sud. Et la réponse est non. Et c'est exactement le problème qu'ils voient. Et il y a beaucoup de questions concernant cette approche dans Internet. Alors, quel est le problème ? Les gens pensent que quand ils ont juste essayé le code comme ça. Donc nous avons sauté devant et ici quelque part, nous sommes en train de chercher, comme nous l'avons fait,par exemple, par exemple, à l'intérieur de notre FBI. Et là, juste ici, un type, ta maison de l ou du FBI. L' Oural était en excès. Ça marchera. Mais le fait est que ce n'est pas le cas. La question est pourquoi ? Parce qu'avant que nous avions l'habitude de monter nos applications attirées, il a été écrit avec le script calice aussi, bien sûr, mais il était de retour et il était connu gs ici, une tarte et sud dans l'arrière et les applications. Tout est facile, sorte que vous avez vos services back-end à l'intérieur. Vous n'avez pas de restrictions hors navigateur parce que ce n'est que pour les services et ils peuvent communiquer avec fetch ou avec tout ce que vous voulez et n'a abandonné aucune restriction avec l'avant . Et nous avons une restriction parce que nous sommes dans le navigateur et d'autre part, Donc quand nous parlons, par exemple, le monde d' Israël comme un calme. C' est notre hôte. Donc, c'est la machine hors de l'utilisateur. Donc, ce n'est pas lié en tout cas, à notre docker composer ou DACA, il va juste au port 80 si c'est le service. Si nous parlons de client, il vient juste cette année et pour lui notre site fonctionne. Voici donc la partie délicate. Donc ici, dans le navigateur, nous pouvons voir dans les plaies notre javascript qui a été construit ici principal jazz. Ce qui signifie que c'est ce javascript que je viens d'ouvrir. Et ici JavaScript dans le navigateur ne sait rien concernant à Dhaka concernant un docker composer ou notre réseau de médecins, qui signifie tout ce que ce javascript Nell est juste notre hôte. Donc, la seule chose que ce code peut faire est de faire aller chercher à un tarte public sur Internet ou faire une requête à cet hôte c'est tout. Maintenant, la question de savoir comment nous allons construire notre une tarte afin qu'elle fonctionne. Fondamentalement, comme je l'ai déjà dit, première approche est juste ici, comme j'ai écrit fetch pour écrire leur public une tarte. Donc, fondamentalement, nous exposons notre tarte A comme ça et voici juste une adresse AP, par exemple. Et puis on est juste là. Ok, allaient chercher. Et voici une adresse e p et puis un port comme, par exemple, 3001. Et voici la demande pour une tarte et des sondages, par exemple. Cela fonctionnera, mais nous sommes dans le navigateur et frère a ses limites. Par exemple, nous ne pouvons pas faire de demandes à n'importe quel site Web prêt à l'emploi. Et fondamentalement, les limitations sont que nous pouvons faire les requêtes sans problèmes sur Lee sur le même domaine ou sous-domaine , ce qui signifie que nous ne pouvons pas à partir de ces domaines simplement obtenir des requêtes et obtenir des données de l'IPC I parce qu'ils ne sont pas les mêmes. Nous avons donc ici à travers les politiques d'origine. Vous pouvez écrire cours à l'intérieur du navigateur, et ici vérifier ce que signifie la requête d'origine croisée et comment cela fonctionne dans son ensemble. Mais fondamentalement, si je veux dire qu'il est assuré. C' est juste une chose super problématique, et nous voulons éviter d'utiliser bien sûr en tout cas, parce que fondamentalement, vous pouvez configurer votre service comme si vous êtes une pâtisserie, que vous autorisez certaines requêtes de services ou hôtes parce que nous ne voulons tout simplement pas le rendre complètement public. Mais c'est strié et nécessite du temps, et vous obtiendrez beaucoup de boîte. Je l'ai vu dans beaucoup de projets, et il n'était pas lié à sombre un péage. Mais j'essaie d'éviter bien sûr. Si possible, cela fonctionnera principalement dans tous les navigateurs. La question est, quelles alternatives avons-nous et les années alternatives N jinx. Donc, fondamentalement, ici, nous voulons sauter dans notre navigateur. Donc, quand nous allons cette année, L de Jink devrait comprendre que nous voulons montrer avant et service. Et quand nous sommes ici, une pose de tarte dans la salle de gym devrait comprendre que nous voulons obtenir nos messages d'une tarte comme nous l'avons fait ici. Mais nous n'utiliserons pas l'hôte local et le port exposé. Il passera toujours en jinx, ce qui signifie que c'est toujours Port 80, ce qui signifie qu'il est géré par Jinx Light Road ici à Dhaka. Donc nous avons Jinx, et nous avons exposé 80 ports. Donc fondamentalement, cette machine, c'est notre serveur. On veut le gérer comme ça. Maintenant, dans notre projet ici, dans l'application source, nous pouvons utiliser fetch. Mais dans ce cas, pas pour un autre hôte, mais pour le même hôte où nous avons notre application, comme il devrait le monde impérial. Ou pourrait-il venir, par exemple, ou pour le développement que le FBI local poste et que cela fonctionnera sans aucun problème hors de la boîte juste parce que c'est le même hôte ? Et c'est l'approche que j'aime et que je fais dans tous mes projets. Donc, la question est, que devrions-nous faire pour configurer dans jinx pour la bonne redirection. Donc, fondamentalement, nous voulons sauter à la configuration de nos moteurs ici. C' est la configuration de production, et nous voulons vous confondre avec les allocations. Donc, je vais juste l'emplacement basé sur les cookies ici et toutes les demandes du FBI qui il y a dans Slash FBI . Nous voulons d'abord un orteil horrible notre FBI avec Port 3001 et ensuite nous voulons les réécrire. Fondamentalement, si vous écrivez juste comme ceci, alors votre demande un post à tarte viendra juste une barre oblique comme dans notre demande à l'intérieur notre service. Et nous voulons l'avoir sans elle. J' aime donc fondamentalement ici dans notre salaire, par exemple, les plaies étaient anciennes, toutes les demandes avec une réponse slash parfaite. Ce n'est pas le cas. Vous pouvez bien sûr le faire. Mais pour moi, il est regardé petit peu verbales et fondamentalement pour le service spécifique. Quand on regarde ça dans, isoler, isoler, ça n'a aucun sens pour les trafiquants, tout ce que tu as aussi été une tarte. C' est pourquoi je veux éviter cela. Parfait. Donc ici, j'écris juste comme une barre oblique testée par les données et puis au niveau hors dans Jinx, nous sommes à droite dans l'Oural. La question est de savoir comment nous pouvons fournir un Oural. Donc ça ressemble à ça. Nous avons une expression spécifique, spécifique vers la droite, puis irrégulière. Je vais l'écrire maintenant et ensuite décrire ce qu'il fait si vous ne savez pas comment les expressions régulières fonctionnent. Donc fondamentalement, il a ressemblé à ceci, et diviser signifie qu'ici enregistrer notre expression régulière. Et cette étoile symbole signifie le début de notre Oural, ce qui signifie ici, élever notre l et Slash ap. Je devrais être au début, qui signifie que cette construction signifie que c'est slash une tarte. Et maintenant, nous avons cette ronde briser son et point et étoile. Cela signifie que nous avons besoin de ce groupe, ce qui signifie que dans ce groupe est le résultat, ce qui signifie que nous ne nous soucions pas d'une tarte et cela ira dans le résultat. Et ici, nous avons ce dollar un orteil sauver manger la propriété des orteils. Fondamentalement, vous ne devriez pas le comprendre plein. Vous pouvez simplement copier, manger et utiliser basé sur Internet si vous allez juste aller comment réécrire mon l toe un autre euro ou quelque chose comme ça Ou vous pouvez juste lire un peu sur les expressions régulières. Mais fondamentalement pour nous est intéressant que l'Ural quand nous ici slash e pi messages slash iront à notre service en tant que messages slash. C' est ça. Maintenant, je veux aussi la dislocation de l'entreprise et pour le nommer tous slash une tarte et ici je veux aussi proxy chemin. Mais ici sera pauvre 3003 je pense. Mais vérifions si lourd cravate avec le sport 3001 et notre 3002. Donc ça devrait être trop maintenant ça marcherait hors de la boîte. Alors vérifions pour ces dont nous avons besoin devant nous et pour faire une demande. Alors adhérons à un bouton. Par exemple, Après en-tête, nous avons ici bouton et ici sur clic. Donc, nous avons sur Handler clic et ici va aller notre fonction, Par exemple, faire une demande P I. Maintenant, nous devons créer cette fonction donc ici sera const. Peut conserver une demande. Et ici à l'intérieur, tout d' abord, nous allons simplement consul log si cela fonctionne. Et aussi je veux installer ici en avant et en excès comme je l'ai fait précédemment. Donc npm installer excès parce que nous voulons également faire des demandes avec excès. Donc, faites-vous une installation que nous pouvons déjà importer excels de l'excès. Et maintenant, pour faire des demandes, nous devons obtenir des variables d'environnement. Mais le problème est que nous ne pouvons pas simplement les donner ici comme nous l'avons fait pour nos applications signalées , parce que fondamentalement, parce que fondamentalement, nous pouvons les arriver ici à l'intérieur de l'avant et de la partie. Mais ils ne vont pas seulement aller à l'intérieur de notre front JavaScript et construire, ce qui signifie que nous devons en quelque sorte leur donner magiquement grâce à notre service d'application nauséé que nous compilons orteil passer de signe à l'avant, et nous pouvons faire beaucoup plus facile approche. Nous pouvons simplement faire une demande dejust barre oblique, puis un tarte et, par exemple, Post parce que dans ce cas, navigateur par défaut utilisera Ural actuel. Donc, nous ne sommes juste pas écrire hôte et commencer par barre oblique. Alors faisons-le maintenant ici. Mais la seule chose que je veux vérifier Tout d'abord, nous n'avons pas besoin de crochets ronds et nous avons besoin ici d'un texte comme Make a Pie request et puis ici en haut, nous voulons sur clic pour faire cette demande avec excès. Et comme ils l'ont dit, nous avons juste mis ici barre oblique et ensuite la demande. Alors vérifions ce qu'on veut chercher. Supposons que nous voulons récupérer quelque chose de notre tarte. Donc, ici, nous avons, par exemple, obtenir qui est l'utilisateur actuel, qui est agréable à tester parce que dans ce cas, nous allons vérifier si nous pouvons de l'avant et faire une demande o r a p I où nous obtiendrons une demande à notre authentification , puis récupérez les données à l'avant. Et donc, écrivons comme ça et comme nous l'avons dit, nous devons le préfixer avec le remboursement de slash dans d'autres cas, notre in Jinx ne comprendra pas. De quoi s'agit-il ? Donc, voici une demande son une tarte, puis tester avec l'utilisateur actuel et ceci est get request. Voici notre réponse. Et nous allons simplement consul log ce qui est à l'intérieur de la réponse ? Alors, sauvegardez ça. Comme vous le voyez ici, nous n'avons pas de favorables à l'environnement et aucun hôte, alors construisons à nouveau et vérifions si cela fonctionne. Comme vous pouvez le voir, je n'ai aucune erreur. Et maintenant, chaque fois que Seigneur la page dans le navigateur, vous pouvez voir ici sur le bas de dans votre fond faire une demande de tarte. Maintenant, nous cliquons sur ce bouton et nous pouvons voir dans le réseau que nous faisons la demande aux trous actuels slash ap i slash test avec l'utilisateur actuel et ici obtiendrait notre réponse. Donc ici la réponse ici les informations actuelles de l'utilisateur de notre service d'authentification A b I Et maintenant à partir des données de réponse, nous pouvons accéder à ces propriétés et rend quelque chose dans notre client. Alors vérifions une fois de plus comment cela fonctionne. Si nous sommes ici slash moutons je barre oblique par exemple test avec les données pi. Bien sûr, cela ne fonctionne pas parce que ce n'est pas le bon que votre l de notre EP que j'entends est test avec l'utilisateur actuel, par exemple. Donc, comme vous pouvez le voir, nous pouvons aller directement à notre service du FBI, mais seulement par notre domaine. Parce que maintenant, nous pouvons supprimer avec succès de notre docker composer les sports, par exemple, ici dans une paire ont déjà été supprimés eux. Donc nous ne pouvons pas juste accéder à sa tarte sur son propre Onley à travers notre hôte et la même chose que nous pouvons faire pour sortir parce que maintenant nous sommes l'adhésion sur Lee jeté dans Jinx. Donc, cette configuration de moteurs rediriger slash une tarte demandes orteil notre service A tarte et à l'intérieur ils vont résultat le CPI I I parfait. Comme vous le voyez, cela fonctionne Et maintenant, nous pouvons également faire notre demande en face et mais le plus important de se souvenir de ce front et ne sait rien sur le réseau DACA ou DACA parce que nous exécutons cette crypte calice dans le machine. Donc maintenant vous savez comment nous pouvons communiquer d'abord, entre les services et deuxièmement, entre notre code client, entre notre code client, qui n'est pas à l'intérieur de nos services. Si vous avez des commentaires ou des questions, hésitez pas à me le poser et je répondrai à coup sûr 22. Dernière mise à jour: On a presque fini les heures A dans les sondages du Dr Kam avant de vérifier notre déploiement de Riel . En fait, cela n'a pas beaucoup de sens de vérifier le déploiement rial parce que fondamentalement, développer dans des conteneurs est toujours riel parce que cela ne fait aucune différence si vous avez ce conteneur en cours d'exécution sur votre machine locale ou sur votre serveur. Mais bien sûr, je vais vous montrer comment ces conteneurs ah, travailler dans la production afin que vous puissiez voir que c'est exactement la même chose, comme sur ma propre machine. Mais tout d'abord, faisons un peu trouver l'union pour vérifier que tout fonctionne comme prévu pour le développement, l'environnement et la production d'abord Averful. Supprimons les ports d'ici. Comme je l'ai déjà dit, nous ne voulons pas exposer de ports parce que nous n'implémentons pas public ik I pour l'instant, tous nos ports que j'ai exposés Onley dans jinx. Donc, fondamentalement sur Li Jing est exposé dans 80 port, puis à l'intérieur de la configuration des moteurs Ici nous sommes proxim toe les pores mais ce sont des ports internes sur le réseau Dhaka. Le point suivant utilisé pour supprimer les variables d'environnement que nous n'utilisons pas. Donc fondamentalement, cet hôte ici à l'intérieur du FBI et cet hôte ici à l'intérieur de l'authentification n'est pas utilisé, mais en fait je veux décrire le cas d'utilisation quand nous en avons besoin. Supposons donc qu'à un moment donné, vous voulez rediriger un utilisateur vers votre hôte aérien, par exemple, votre intérieur du FBI et fondamentalement le résultat de la réponse n'est pas le Jason, par exemple, mais chaque direct à la maison cela peut certainement arriver. Et puis vous voulez savoir quel hôte vous devez rediriger. Donc, en gros, vous écrivez à l'intérieur Vous êtes une tarte dans la source quelque chose ici. Pas tres Jason, mais robe redirection, et ici devrait être un votre L. Mais le fait est que notre tarte sérieuse est apatride. Il ne sait rien concernant vos URL ou quel Host of Iran Dans notre application sur ces, nous devons fournir des variables d'environnement et c'est exactement le cas. Donc fondamentalement, je vais l'enlever pour l'instant. Mais au moins si vous avez besoin de l'implémenter, vous savez pourquoi vous en avez besoin et comment vous pouvez le gérer. Un autre point, c'est que Jing étranger est là. Si nous faisons dans jinx ce proxy dans une tarte et ici en fait c'est copier-coller ici, nous devrions mettre des heures et pas un mot de passe. Donc, fondamentalement, nous faisons ici trois proxy dans et pour le faire correctement, nous avons besoin ici pour écrire plus dépend de. Donc, fondamentalement, nous voulons d'abord commencer ces 33 services et ensuite nous sommes sûrs que sont en jinx. Demander correctement le proxy et nous n'obtiendrons pas un étroit. Je pense que notre configuration ici est vraiment sympa. Donc, nous avons écrit ici tout ce dont nous avons besoin et nous devons maintenant vérifier si notre développement de composition docker est également suffisant. En fait, ce n'est pas parce que nous avons décrit sur le front et Andy Pie. Donc, à gauche est notre configuration de production sur le développement ouvert de l'œil droit. Donc ici pour l'avant et tout va bien. Donc, dans Cam Rahn start est la commande qui va démarrer le web. Serra éteint. Créer réagir. Oui, ces deux choses avaient besoin pour créer exactement et ici nous avons l'avant et les plaies . C' est notre volume, donc nous pouvons changer de fichier et notre service sera automatiquement relancé. Parlons d'abord d'un gars. Vérifions si nous avons cette commande. Donc ici à Peca Jason, nous avons commencé pour la production et là pour le développement et ce n'est pas un démon. Donc, c'est exactement correctement et entendre Tous les fichiers source sont montés volume orteil. Nous voulons aussi faire la même chose dans notre maison. Donc, fondamentalement, nous avons tous les services et vérifions si nous avons cette commande à l'intérieur. Donc ici, nous avons aussi sourd pour aucun démon. Donc ici en PM, le rondel est bien et le volume est le même. Donc, ici ne sera pas un gars mais notre source et ici, source AP source utilisateur. Donc, tout semble bien ici et la dernière chose est les moteurs donc dans Jinx nous voulons sur orteil remplacer Onley ces configurations ici, Comme vous pouvez le voir pour la production, nous avons ici dans Jinx Khan fraude et pour le développement. Nous voulons avoir dans la mort de Jinx Khan ou local ce que vous préférez. Donc, fondamentalement, j'aime séparer complètement ces deux condamnés. Fondamentalement, il est possible de créer un seul conflit, puis de passer orteil à l'intérieur des variables d'environnement invariables . Mais je pense qu'il est beaucoup plus difficile de soutenir et de vérifier parce que si vous avez ce gabarit étrange dans jinx avec sens variable d'environnement sur. C' est pourquoi je crée toujours des conflits d'orteils et c'est exactement ce que je vais faire ici. Donc, nous avons les exportations de moteurs restent les mêmes, ce qui est l'OTAN sur la droite. Nos volumes peuvent essentiellement copier cette ligne complètement parce que c'est la même chose et ici au lieu de large, je vais écrire, par exemple, la mort. Donc la mort pour le développement et le chemin seront les mêmes. Maintenant, vérifions que notre DACA de développement fonctionne. Donc, nous venons d'essayer Docker compose moins f docker compose jahmal mentset Docker compose le développement et nous vérifions si cela fonctionne. En fait, j'ai eu un étroit parce que mon site a juste cessé de fonctionner et le fait est qu'ici pour les moteurs, je n'ai pas copié le Jinx étranger appelé Prod. Donc je veux juste copier et coller ici avec le nom en Jinx Khan sourd et ici. Qu' avons-nous besoin de changer ? Donc, fondamentalement, tout reste exactement le même. Donc, ce proxy dans est le même que dans la production. Donc ici, la seule chose à changer son nom de serveur du monde réel DACA dot com en local Fondamentalement, rien ne dit contre d'utiliser le même domaine que vous utilisez pour la production sur loco dans juste mettre à jour votre fichier hosts, mais je pense qu'il est plus pratique de faire la distinction entre deux Oural. C' est pourquoi je copie tout coller. Et ici, j'ai local. Et si vous demandez comment nous pouvons ouvrir maintenant ce votre l vous avez juste besoin d'ouvrir le fichier hôte sur votre machine et coller ce domaine ici comme nous l'avons fait précédemment. Donc fondamentalement, je suis juste taper dans le domaine et redémarrer Waas Une fois de plus mon médecin composé Et puis quand nous avons sauté un vrai monde sombre loco adat, il devrait ouvrir notre l Comme vous pouvez le voir, nous pouvons sauter à hasta que loco local et en fait cela fonctionne, mais il a jamais eu une flèche avec des sockets web. Donc, fondamentalement, plusieurs mots sur les sockets. Donc, par défaut, créer application de réaction est d'avoir cet avenir qui est appelé Holter Lord, dans lequel Entre les sockets trois de connexion obséquante pour Yoko grand naufragé Apple observateur. Et cela signifie que chaque fois que vous enregistrez le fichier lancé sockets créer détruit Chaque observateur reçoit la réponse. Un fichier K a été modifié, puis la page sera utilisée. Le fait est, ici que notre dans Jinx et ceci est en fait dans Jinx. Maintenant, qu'est-ce qui sert ce serveur Web avec ce pas de proxy que vous avez vu ici ? Et cela dans jinx par défaut ne prend pas en charge avec les circuits. C' est pourquoi nous obtenons 404 et nous devons configurer cet emplacement correctement et nous pouvons le faire . Nous devons mettre à jour notre version http. Donc, fondamentalement, ci-après les parties proxy, nous pouvons juste l'essayer, par exemple nécessaire pour les sockets. Il suffit de comprendre pourquoi cela s'est produit ici. Donc c'est le cas. Proxy. Version Http Il pourrait être 1.1, puis proxy dit en-tête et ici en-tête serait mise à niveau dollar http mise à niveau. Et puis le dernier est que les proxies avaient en-tête la même connexion et ici augmenter, flux de mise à niveau. Donc, fondamentalement, dans ce cas, nous disons jinx étranger d'utiliser http version 1.1 et voici des en-têtes de mise à niveau spéciaux. Et maintenant, quand nous commençons notre docker composer et recharger la page dans le navigateur, vous pouvez voir que nous n'avons pas une ère avec des sockets Web et affaiblir saut dans le réseau et ici champ avec bob sockets et vous pouvez voir la connexion socket sur réel monde Docteur Loco, et il est très bien. Donc c'est obtenir avec 101. Donc tout fonctionne comme prévu. Et essayons, par exemple, changer un fichier comme ici en face et nommons manger des circuits Web fix et nous l'enregistrons juste . Et comme vous pouvez le voir dans le processus, la page était réelle. Je l'ai fait, et nous obtenons ce site de message est corrigé. La dernière chose que je veux changer d'orteil est que dans notre moule de développement quand ils ont été construits avant et dans le fichier Dhaka, nous avons npm run build et dans PM installer servir. Et vous pouvez voir que lorsque nous exécutons une construction de développement, nous faisons cette construction de production et fondamentalement en développement. Nous n'avons pas besoin de ces deux lignes, il est donc possible d'utiliser des fichiers médicaux différents pour la production et le développement. Donc, pour cela, je veux écrire ici prod Donc fondamentalement de la même manière comme avec elle conclusions il est fier et trois personnel. Donc voici large et je vais juste copier ce fichier et coller et renommer la mort de fichier dossier orteil et fondamentalement je veux juste dans la mort de fichier Dhaka pour enlever les deux derniers lions. Donc, fondamentalement, nous sommes équipés sur tous les fichiers et PM dans le style. Nous avons besoin, mais nous n'avons pas besoin dans PM Ron construire et dans PM installer servir notre profil Je vis la même chose comme il Waas Maintenant, nous devons faire un ajustement ici à l'intérieur et dans le développement jahmal et dans la production. Donc fondamentalement ici comme vous voyez un moyen dit construction et construction est avant et dossier. Cela signifie que le médecin va juste lire le fichier doc à partir du dossier construit et il s'attend à avoir le fichier DACA avec le fichier docket, ce qui signifie que notre nom et le fichier DACA Prod et Docker fichier Dev ne seront pas lus parce que ce n'est pas par défaut. Et fondamentalement ici, nous pouvons supprimer cette ligne et dire deux choses d'abord du fichier de dossier d'automne et c'est le nom que nous attendons. Donc, dans notre cas, ce sera docker file prod et la prochaine chose est le contexte. contexte devrait donc être avant. Et l'idée est que le contexte est juste le répertoire de travail où nous allons chercher le fichier DACA ici, qui signifie ici que le contexte est avant et c'est pourquoi nous n'avons pas besoin de perfectionner notre chemin pour le fichier docker ici. Maintenant, faisons la même chose pour le développement que vous pouvez voir ici, nous n'avons pas construit le paramètre du tout. Donc ici, je veux spécifier construire et plus, chien droit, un fichier avec DACA déposé ou mort. Et ici les contextes sont à l'avant. Et donc fondamentalement, c'est ça. Dans ce cas pour le développement de la production, nous allons encore construire notre projet et installer n g servir. Désolé, juste servir est trop profondément servir. Mais pour le développement, nous n'avons pas besoin de cela et comme vous pouvez le voir maintenant je redémarre. Docker compose. Et comme vous pouvez le voir, ce sera beaucoup plus rapide parce que nous installons juste des paquets. Mais nous n'avons pas besoin de construire l'ensemble du projet et d'installer un paquet supplémentaire après avoir démarré Docker composer, vous pouvez voir que tout fonctionne de la même manière que précédemment. Donc, fondamentalement, notre configuration pour Dr Composé en production et en développement est entièrement terminée. Maintenant, juste pour vérifier ici, nous avons ce fond peut garder une demande et comme vous pouvez le voir, il fonctionne toujours. Donc, nous avons les données. Et dans le réseau, lorsque nous filtrons pour X, chacun est que vous pouvez voir que nous faisons une demande pour la pâte mâle actuelle slash huit i test barre oblique était l'utilisateur actuel. Donc, cela signifie que tout fonctionne principalement et que nous pouvons aller déployer notre projet en production. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 23. Faites-le vous-même. Mailer: dans cette vidéo, je veux que vous essayez une implémentation un service par vous-même. Auparavant, nous faisions tous les services ensemble, mais je pense que c'est une belle possibilité d'essayer de mettre en œuvre une partie sans mes conseils. Donc, si vous voulez le faire, regardez le lecteur. Si ce n'est pas le cas, vous pouvez simplement conserver cette vidéo et aller directement aux vidéos de déploiement. Voici donc la tâche que nous avons parlé du service Heaven Mailer. Donc, en gros, qu'est-ce que le service Mehlis ? C' est un service qui a un peu A tarte, et vous pouvez à partir de vos différents services. Demandez à ce tarte d'envoyer un e-mail, par exemple. Disons que nous sommes sur le devant et que nous avons ici formulaire pour enregistrer l'utilisateur, ce qui signifie que nous avons une demande de l'avant et à notre service d'authentification, où nous disons OK, la police a enregistré cet utilisateur dans le cas où l'authentification était réussi. service de syndication devrait envoyer n'importe quel charbon à tarte à nos pressés Mehlis afin que nous puissions envoyer un e-mail. Donc fondamentalement les services Mehlis vraiment portée. n'y a pas de base de données là-bas, donc nous disons juste le corps et le titre de l'e-mail, ce qui signifie quelque chose comme ok, l'utilisateur a été enregistré. C' est le nom et c'est un e-mail, puis en mâle, ont peut-être des modèles ou tout ce que vous voulez envoyer un e-mail. Et fondamentalement, c'est comme la portée isolée Tinky, qui enveloppe une application de courrier tiers ou une sauce que vous utilisez, et juste pour notre application. Il simplifie avec ce travail avec la bibliothèque tierce. Donc, une fois de plus, l'objectif est juste d'implémenter un nouveau service où vous aurez n'importe quelle tarte. Vous pouvez simplement faire plusieurs charbons de test comme, par exemple, envoyer un e-mail enregistré ou sable ist email réussi off pour l'abonnement ou la notification, et simplement essayer de communiquer entre les différents services. Vous devez également décrire le service pour la production et le développement, sorte qu'il devrait avoir du volume, et vous pouvez ensuite modifier vos fichiers localement et voir la mise à jour du serveur Web de fin de projet. Donc, je pense que c'est une petite tâche agréable à essayer, mettre en œuvre et servir vous-même. Si vous avez des commentaires ou des questions, hésitez pas à les poser, et je vais y répondre à coup sûr. 24. Pussie pour git: dans cette vidéo, je veux commencer une partie concernant le déploiement. Et la première question : comment pouvons-nous déployer tout ce que nous avons fait à la production ? Et fondamentalement, avec DACA, il y a des millions d'outils à déployer en production. Certains d'entre eux sont trois. Certains d'entre eux sont payés bien sûr, je préfère trois et stable. C' est pourquoi nous allons rester avec Docker, composer et obtenir essentiellement l'idée avec DACA et Dr Hub par défaut est un peu différent de ce que je fais. Donc, en gros, quand nous allons sur un quai, son hub et nous ouvrons un site web, l'idée est que vous pouvez vous inscrire ici et pousser vos images. Ce qui signifie qu'au moment où nous avons utilisé des images comme vous l'avez vu ici, par exemple, nous avons utilisé l'image de jinx étranger parmi aller il waas que quelqu'un a poussé l'image orteil le moyeu du médecin et ensuite nous pouvons le tirer. Tout va bien, Mais quand vous voyez les prix, vous comprenez qu'il y a une chose cachée est ce qui signifie fondamentalement que vous ne pouvez pas simplement pousser n'importe quelle quantité sur les images que vous voulez. Tu dois payer bien sûr. Il y a une communauté pour les rappeurs publics, mais qui veut pousser des images privées même pour tester à l'intérieur du hub de canard et de l'argent de la baie si vous voulez qu'ils soient privés, ce qui signifie que nous avons besoin de certains sont la solution En fait, l'idée avec le hub DACA et avec push and pull dans l'image est Israël est fort et agréable. Ce qui signifie juste imaginer que j'ai loué le serveur et maintenant je veux que ce projet soit disponible là-bas. Donc, fondamentalement, si je pousse de ces images que j'ai créées si fondamentalement ici, nous avons créé, comme, cinq images pour chaque conteneur de chaque service dans le hub de Dhaka et alors je peux simplement tirer ces images une fois et les utiliser. L' idée est que je ne devrais pas les construire comme vous l'avez vu ici, ce que nous avons fait chaque fois que nous les construisons chaque fois que nous sommes en train de courir. Et ce processus de construction est vraiment long. Mais fondamentalement, de mon point de vue, il n'a aucun sens d'utiliser DACA Harb Oh, sont d'autres solutions différentes où vous devez payer de l'argent juste parce que votre image sera pro build là-bas. Nous pouvons simplement construire cette image directement dans le serveur de production. Et rien ne dit contre ceux-ci parce que fondamentalement, ce n'est pas comme si vous aviez 2000 serveurs et construire l'image dans chaque service est si difficile ? Donc, fondamentalement, voici mon idée que j'utilise pour tout mon projet et non seulement le mien, mais aussi les projets d'entreprise. Cela fonctionne vraiment bien Et vous n'avez pas besoin d'un hub DACA ou d'une solution similaire pour cela. Donc, nous avons simplement mis notre froid comme toujours dans get rapper Donc nous l'avons fait pour tous les projets. Donc, vous avez obtenir hub, obtenir labo ou tout ce que vous voulez, où vous hébergez vos trippers get. Donc on pousse juste leur rhume. Rien de plus. Pas d'images, pas de docteur, rien. Ensuite, nous configurons simplement un serveur comme un serveur Lennox normal de n'importe quel fournisseur ce que vous voulez. Et là, nous installons DACA et Docker composer et, bien sûr, obtenir alors nous avons simplement besoin de tirer notre projet de obtenir triple. Et il y a toujours Iran docker composer construire et ensuite Docker composer et fondamentalement nous sommes prêts. Pas d'outils spécifiques. Il suffit d'obtenir DACA et docker composer. Évidemment, si vous faites de telles choses pour 200 service, cela ne se nourrit pas mais normalement si vous développez dans de petits projets et ne laissant pas si petits mais pour de petites équipes comme 10 15 personnes, vous pouvez toujours utiliser cette approche. Cela ne prend vraiment pas de temps et vous n'avez pas besoin de payer pour quoi que ce soit. C' est ainsi que nous allons déployer avec notre projet. Donc, pour moi, je suis un utilisateur de labo get. Et ici, si vous voulez pousser notre projet pour par exemple obtenir lampe ou obtenir avoir ou ce que vous avez , vous avez simplement besoin de créer un nouveau projet. C' est comme la même interface dans toutes les plateformes. Voici donc le nom du projet que je peux utiliser Real World Dock lui. Je pense que c'est le nom déjà utilisé par moi parce que je l'ai déjà poussé. Donc je vais créer un vrai monde aka test et ici c'est privé. C' est pour ça que j'aime ça. L' amour que vous avez privé Reppas gratuitement Et ici vous avez des instructions comment vous pouvez pousser, par exemple et existe se dérouler. Donc c'est exactement ce que nous avons. Vous devez avoir Giddens teldyn votre machine. J' espère que vous l'avez. Vous pouvez le vérifier avec G moins version moins. Ensuite, vous avez simplement besoin d'écrire obtenir besoin, puis obtenir à distance chez Origen. Et voici l'Oural de mon représentant. Oh, alors ajoute-toi. Vous vous engageriez et vous faites pousser. Et après ceux-ci, c'est exactement ce que j'ai fait parce que j'ai enregistré tous les fichiers que nous avons. Donc j'ai déjà ce rappeur. Et voici ma poussée Trapper. Donc, ce sont juste tous les fichiers que nous avons ici. Et si je suis juste un saut dans la branche, où suis-je ? Vous pouvez voir tous nos anciens que nous avons créés et deux choses que Docker compose développement et docker compose. Ouais, mo Donc tout est poussé et maintenant on peut commencer avec le serveur de production. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 25. Configurer le serveur de production: dans cette vidéo. Je veux parler de la configuration de notre serveur de production essentiellement pour exécuter notre code et notre observateur quelque part, nous devons louer un serveur et payer de l'argent hors cours. Je comprends que dans le but de juste terminer le cours. Vous ne voulez peut-être pas payer les orteils pour le serveur rial et dépenser de l'argent pour ça. Donc fondamentalement festival. Vous pouvez simplement regarder la fin du cours sans payer l'argent pour le serveur parce vous verrez que cela fonctionne exactement comme ça. Et vous pouvez le faire quand vous êtes prêt pour cela. Et deuxièmement, vous avez juste besoin de n'importe quelle machine Linux où vous allez commencer le médecin avec docker composer de sorte qu'il n'a pas besoin d'être un serveur loué où vous payez l'exploitation minière, vous pouvez simplement installer votre machine Linux. Juste n'importe quel Lennox que vous voulez tester. Par exemple, sur votre ancienne machine ou sur votre machine actuelle. Je vais utiliser leur solution de prix. Donc c'est ce que j'utilise moi-même. Mais ce n'est pas une publicité, vous pouvez donc utiliser n'importe quel service cloud dont vous avez besoin. Donc fondamentalement, nous avons juste besoin de service de linge avec un sage, et j'utilise des têtes dans un parce que c'est vraiment pas cher, et je pense que c'est la chose la moins chère que je l'ai trouvée. Donc ici, vous pouvez sauter au nuage et ici vous avez des prix. Et fondamentalement, le serveur moins cher par mois coûte environ trois euros pour deux gigaoctets de et 20 gigaoctets d'espace disque. Donc, je vais créer ici que votre serveur juste à des fins de test, puis le supprimer quand je n'en ai pas besoin. Donc fondamentalement ici, je me suis inscrit en tant qu' utilisateur ah. Et ici, vous pouvez simplement cliquer sur le serveur, puis vous pouvez sélectionner l'allocation. En fait, ça n'a pas d'importance. L' image utilisera qui ne sera pas orteil 18. C' est de bons types soumissionnés. C' est aussi très bien. Et ici, vous pouvez vérifier la taille. Donc, fondamentalement, je vais prendre le plus petit et ici sur la droite, vous pouvez voir que le prix est presque trois ans par mois. Fondamentalement, vous n'avez besoin de rien de plus cher. Cela suffit même pour plusieurs projets. Alors, c'est ça. Fondamentalement, nous n'avons pas besoin de volumes. Nous n'avons pas besoin de réseau. Nous n'avons pas besoin d'autres contrats à terme. Et en fait rien ici, je vais écrire Docker. Quel était le nom de Doc ? Le monde réel l'a pris. Soldat. Appelons Israël point com monde, et je pense que c'est joli nom et pas de clé ssh. Commande très sélectionnée pour utiliser une clé ssh. En fait, ce cours ne concerne pas Lennox et comment mettre en place des coups en toute sécurité ère. Donc, je vais juste dire que si vous voulez le faire correctement, vous avez besoin de Lee quelques connaissances comme ça, vous ne devriez pas utiliser un utilisateur root. Pour un utilisateur normal za sur votre serveur, vous devez au moins créer un utilisateur supplémentaire et donner à cet utilisateur sorte d'autorisations afin de ne pas complètement router. Et dans ce cours, juste pour des raisons de simplicité, je vais utiliser exactement l'utilisateur de route par défaut de l'utilisateur racine sera créé. Donc, nous allons obtenir un passeport par e-mail et nous allons simplement installer DACA et Docker composer Donc pas configuration de serveur riel que vous avez vraiment besoin pour la production. Donc ici, je viens de cliquer sur créer et de temps en temps il est créé. Vous pouvez voir ici processus et sur e-mail, je vais obtenir leurs informations d'identification pour mon compte root. Donc, fondamentalement, j'ai déjà reçu un e-mail avec le passeport pour le compte root. Alors voici que je viens de cliquer ici dans ce nouveau serveur et comme vous le voyez, nous avons une adresse p en haut. Donc nous devons les copier et ensuite juste basé C'est une route sage. Et puis à l'adresse CPI. Après cela, nous devrions entrer, et nous devons fournir un passeport d'itinéraire à partir de l'e-mail. Donc ici, j'ai collé le mot de passe et nous devons fournir le mot de passe actuel, puis vous mot de passe parce que le mot de passe doit être automatiquement changé à votre mot de passe après que vous obtenez l' excès de pied le serveur. Donc fondamentalement ici, un mot de passe actuel et puis vous mot de passe. Essaie juste quelque chose de sécurisé. Et maintenant nous sommes à l'intérieur de notre coquille. Donc ici, comme vous pouvez le voir, je suis dans le répertoire racine et je suis ici dans ma Sarah louée. Donc maintenant tout semble bien et nous devons installer DACA et docker composer. Donc, ici en Hesse, l'article des yeux raison déjà comment installer DACA et comment déployer Connu elle s application, il est super rugissement mais à part en ce qui concerne l'isolation DACA et docker composer est vraiment valide. J' ai donc utilisé ce lien. C' est comme une documentation de communauté pour les têtes Maintenant, si vous n'aimez pas ce tutoriel, vous pouvez prendre le tutoriel que vous voulez. L' idée principale est que sur votre système, vous devez installer DACA End, aka Composé. Donc ici, je vais sauter une partie avec la configuration de l'image et ainsi de suite et pousser le moyeu d'orteil. C' est exactement ce qu'on n'a pas fait. Et voici le pas pour dans le style à Dhaka sur un paquet. Donc, tout d'abord, nous voulons tout mettre à jour, puis installer ces paquets qui sont état ici. Donc on a tout basé et on a attendu. On dirait que tout a été installé. Maintenant, nous sautons sur l'étape suivante, nous devons ajouter DACA gp geeky et configurer Rep personnalisé Oh, Donc, fondamentalement, nous pouvons simplement copier coller ces à nouveau dans la ligne commune et ici, il est installé. La dernière étape consiste à faire une mise à jour à nouveau parce que nous avons besoin de mettre à jour cette application personnalisée triple , puis installer blague isi. Donc, j'ai juste basé ces commandes et encore une fois nous devons attendre l'installation. Donc, nous sommes là pour frapper. Oui, et DACA est en cours de téléchargement. Maintenant, vous pouvez conduire dr moins mode et vérifier que le médecin a été installé avec succès. La prochaine étape de style oriental DACA composé et fondamentalement la pourriture a pris un mois ici, Le 1er 1 ne seigneurs pas un binaire et le second dit ce binaire pour être autorisé à l'exécution. Maintenant, vérifions si nous devrions avoir Docker composer comme il l'avait fait, comme un moins moins passion composé. Il est également installé et disponible et la dernière étape est d'ajouter notre utilisateur actuel ici toe groupe DACA. Donc, fondamentalement, nous pouvons John les commandes de médecin de notre utilisateur actuel. Nous avons donc simplement besoin de coller cette commande. Et comme vous pouvez le voir, mon utilisateur n'existe pas. Et j'espère que pour des raisons de sécurité, vous allez créer un utilisateur non root. Mais vous n'êtes qu'utilisateur. Mais comme il s'agit d'un processus de test, je vais simplement ici la route en utilisant. Mais bien sûr, ce n'est pas bon d'utiliser l'utilisateur root du tout. Ce ne devrait être que pour les privilèges d'administrateur. Essayons maintenant d'exécuter une commande de médecin afin que nous puissions piloter Dr Processes et voir que nous n' avons pas de processus et que tout est installé. Ce qui veut dire que Doc est là. Docker compose est là et nous passons, je pense, moins de cinq minutes pour ne pas tout dominer sur notre nouveau serveur. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr 26. Déployer le projet: Dans la vidéo précédente, nous avons configuré avec succès notre serveur. Donc DACA et Docker composer est disponible farce et maintenant nous avons juste besoin de déployer notre projet. Donc, fondamentalement, c'est vraiment simple. D' abord horrible. On veut cloner du labo notre rapport. Et deuxièmement, nous voulons juste faire les mêmes commandes comme le fait localement. Alors je vais à mon ondulation et je prends la branche que je veux. Si vous avez le maître, prenez le maître. Et puis voici le clone et nous voulons orteil klik Copie ici l du clone avec un sage. Donc nous sommes dans Git Clone. Nous pouvons simplement le copier dans notre dossier racine. Ou nous pouvons créer ici, par exemple, le dossier Projets et ici à l'intérieur du projet. Nous voulons faire cloner notre labo Get monde réel. Donc, comme vous pouvez le voir, commande git introuvable ce qui signifie qu'ils ont besoin d'installer get so apt Get install get Essayons à nouveau Obtenir clone Et nous clonons notre monde réel. Ok, et ici nous devons frapper. Oui, parce que nous le faisons la première fois et nous n'avons pas accès au rapport parce que de toute évidence cet éventreur privé et l'excès refusé. Donc nous avons besoin ici d'une clé publique pour pouvoir cloner le repo. Donc, ici, nous devons créer une clé ssh sur notre serveur. Prenez une clé publique et mettez-la à l'intérieur. Prends le labo. Et pour cela, vous pouvez simplement obtenir la permission refusée clé publique sur Get lampe sur quelque chose comme ça. Fondamentalement, l'idée est que vous tout simplement autour comme un sage à nouveau et il va générer un garder votre prière entre public et privé chaque Saiki. Donc, il sera sans danger orteil point ssh idée air. Dites, vous avez juste besoin d'appuyer sur Entrée une fois de plus entrée parce que nous ne voulons pas une phrase de passe Et maintenant il waas généré. Donc ici, nous pouvons faire moins. Par exemple la route qui est un sage. Et ici, nous avons notre idée clé, Risa et des idées en haut, maintenant vous pouvez simplement ouvrir avec eux. Je suis un pub. Donc, il iss slash fille gouvernée s une sage i d pompe ERISA et l'équipe n'est pas correcte. Commandant a dit à BV et comme vous pouvez le voir ici vous avez ces clés Donc, fondamentalement, vous pouvez simplement copier tout et jeune il Et maintenant aller orteil notre configuration de lampe get dans votre profil. Donc, fondamentalement, dans votre profil, vous pouvez cliquer sur les paramètres. Donc, voici les paramètres et ici vous avez la clé Ssh. Maintenant, nous sommes simplement coller ici la clé et cliquez sur la touche. Après que vous avez fait la thèse, cela devrait fonctionner avec tirer notre représentant. Oh, donc essayons encore ici avec avoir Git clone. Et comme vous pouvez le voir maintenant, nous n'avons aucun problème sur Clone dans le représentant. Oh, donc ici, j'ai le monde réel. Ok, allons dans le dossier. Et ici, vous pouvez voir obtenir l'expression de la mine à distance. Vous pouvez voir qu'il a été tiré du labo Get. Maintenant, je suis dans le monde réel a pris un dossier et nous voulons commencer Docker composer construire. Donc nous venons d'essayer Docker composer build et c'est tout. Nous n'avons pas besoin de moins f ici parce que nous faisons simplement une construction de production. Et comme vous pouvez le voir ici, nous avons quelques images et quelques images seront tirées. Donc fondamentalement, après ça, on fait toutes les mêmes choses que dans notre machine locale. Et comme dans notre machine locale, nous avons développé avec des images Linux, il est tout isolé et il fonctionnera à 100%, Donc ce n'est pas comme normalement, Vents dit précédemment résultats Dockers certains outils localement, puis sur la production. Ils n'ont pas travaillé ici. Cela ne peut pas arriver parce que chaque fois que nous créons un conteneur, nous commençons avec le conteneur super frais avec la même image. Mais voici une chose de plus importante à comprendre. Il y a une différence entre construire une image sur la production et tirer l'image du hub de Dhaka. Donc, fondamentalement, vous pouvez sentir la différence quand nous construisons quelque chose sur la production. Nous ne pouvons pas être sûrs à 100% que cela fonctionne parce que nous le construisons à partir de nos fichiers. Ce qui signifie que, par exemple, ici quelque part, nous avons eu Mongo dernière. Donc ici, nous n'avons pas de version spécifique, ce qui signifie que lorsque nous construisons sur les mangas de production les plus récents, peut-être que nous obtiendrons la dernière version qui ne fonctionnera pas avec notre projet. Donc, soit vous avez besoin ici de versions spécifiques comme nous l'avons fait ici avec le jazz connu comme vous vous souvenez ici dans une tarte, par exemple, avec la version exacte spécifiée. Dans ce cas, il sera construit de la même manière. Mais bien sûr, vous devriez en être conscient. C' est pourquoi j'essaie toujours de ne pas utiliser des choses comme la dernière ou stable, mais de les changer plus tard dans la version exacte. Comme vous pouvez le voir ici après la nuit, vous composez construire tout a été installé et des images ternes ont été créées. Maintenant, nous avons simplement besoin d'exécuter Docker composer et c'est tout. C' est exactement ce que nous avons fait sur notre machine locale. Maintenant, comme vous pouvez le voir, une composition docker a été effectuée avec succès sur notre serveur. Maintenant, la question est de savoir comment nous pouvons ouvrir un nouveau monde aka Com sur notre serveur. Et normalement, nous pouvons acheter le domaine, par exemple, celui-ci, puis dans l'enregistrement d'origine, vous définissez simplement la configuration de l'adresse I P qui sera lier avec ce domaine . Nous ne voulons pas acheter un domaine et faire ce processus. Donc, la réponse facile est la même, comme nous l'avons fait auparavant via l'hôte. Donc fondamentalement, côte est vraiment bien chose parce que vous pouvez dire sur votre machine locale que vous ne voulez pas aller sur Internet et chercher ce domaine. Mais vous voulez juste orteil Hecate. Et dans ce cas ici, nous pouvons fournir à Rail World qui pourrait venir ? Pas notre hôte local, mais e P. Adresse de notre serveur. Donc ici, je copie des têtes de console. Maintenant que nuage calme l'adresse AP de mon serveur et le coller ici et maintenant avec Israel World docket était venu Quand je vais l'ouvrir dans le navigateur, il va sauter àcette adresse ap et pas dans le domaine rial si elle existe même. Alors allons frapper ici. Entrer Et comme vous pouvez le voir dans la console, je vais juste le rendre propre une fois de plus comme vous voyez notre docker composer Israël à l'intérieur de notre serveur. Et ce sont des journaux de nos moteurs, ce qui signifie que notre domaine fonctionne déjà depuis notre Sarah. Donc, fondamentalement, moins de deux minutes, je pense, ou au moins deux commandes, nous avons commencé sur la production entièrement notre projet sans grand bruit parce que nous sommes 100% sûrs que notre projet fonctionnera sur n'importe quelle machine. Comme vous pouvez le voir avec juste Ron Docker composer, construire Docker composer et c'est que vous pouvez voir maintenant je me suis appuyé sur la page et cela ne fonctionne pas parce que j'ai arrêté le processus. Maintenant, la chose principale ici est que vous ne voulez pas l'avoir manipulé dans la console comme non-stop a ble Vous vouliez être détaché de la console et pour cela. Vous avez creusé une commande composée moins D. Et comme vous pouvez le voir ici, nous commençons tout. Mais vous ne verrez pas les journaux par la suite car ils seront détachés. Donc maintenant, comme vous pouvez le voir, notre consul est libre. Nous pouvons effacer la nourriture, et avec les processus docker, nous pouvons vérifier quels processus avons-nous ? Donc ce sont nos processus pour la tarte Doc A du monde réel. Et si vous voulez vérifier les journaux, vous pouvez écrire des journaux sombres, puis le nom, par exemple les journaux de Jinx ici montrera dans les serrures génétiques Et maintenant avec le Seigneur à nouveau . Et comme vous pouvez le voir, notre site Web fonctionne et c'est exactement ainsi que je déploie des projets en production. Il suffit de cloner ou de jeter pour obtenir la piscine. Et puis je viens Iran Docker composer ar moins construire. Et puis si cela est nécessaire, il sera automatiquement construit ID et il autour de nouveau. Et maintenant, vous pouvez même vérifier ici dans la console Ive Nos demandes empire entre les services fonctionne . Donc, vous pouvez voir que oui, il fonctionne parce que ici, nous avons le monde réel bercé calme et entendre notre réponse et il fonctionne. Mais ici, nous utilisons notre domaine de production. Donc, fondamentalement, c'est comment facile et agréable vous pouvez déployer des applications Docker Compose pour le résultat de production n'importe quel Hessel. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 27. Dénommer la docker: Dans la vidéo précédente, nous avons déployé avec succès notre application en production. Maintenant, je veux parler un peu du nettoyage. Donc, fondamentalement, vous et après que nous avons mis en œuvre ce projet, si nous allons écrire quelque chose comme Docker Image, par exemple , image sombre moins que vous puissiez voir beaucoup d'images sur ma machine. Et peut-être même certaines images ne sont pas ce que nous avons installé. Donc fondamentalement ici, comme vous pouvez le voir, j'ai beaucoup d'images, non non, et c'est aussi un problème. Donc, tout d'abord, toute la question est de savoir ce qui est connu non et comment nous pouvons enlever tout ce dont nous n'avons pas besoin en toute sécurité . Donc aucun non est normalement des images intermédiaires immédiates dont nous n'avons pas besoin, mais elles ont été utilisées pour la construction. Nous n'avons pas besoin d'entrer au fond de ce petit, mais nous voulons à coup sûr supprimer toutes les images qui ne sont pas utilisées. La même chose est considéré comme des conteneurs qui peuvent être démarrés sur notre machine ou tout simplement se bloque là réseaux, volumes ou quoi que ce soit, Doc, vous choses que vous avez créé si normalement longtemps les gens ont été enlever les images de chardon par , mais maintenant il ya une commande vraiment agréable. Si vous écrivez système DACA et puis il entre, Vous voyez certaines choses système que vous pouvez utiliser et il y a une commande spéciale qui est appelée prune, et il a supprimé et utilisé des données en effet peut nettoyer en toute sécurité Tout. Ce que j'ai mentionné, comme des images pour les conteneurs Williams à ainsi de suite. Essayons donc ce système DACA et on touche Entrée. Comme vous pouvez le voir, cela va supprimer tous les conteneurs d'arrêt tous les réseaux qui ne sont pas utilisés par les conteneurs, toutes les images pendantes et tout l'argent. Ce qui veut dire que si nous n'avons pas couru dans les sondages de Dhaka, tous ces trucs seront supprimés. Et tout cela est très bien parce que quand nous construisons nos images, nous pouvons juste faire la commande et nous allons les utiliser. Donc, fondamentalement, il est bon de supprimer ici tout et non, cette commande ne cassera pas votre système. Donc, fondamentalement, je suis juste en train de frapper. Oui, et maintenant il va enlever les choses et parfois il peut vraiment nettoyer beaucoup. Parfois, ce n'est pas beaucoup, mais ici vous pouvez voir qu'il supprime des conteneurs et il supprime des réseaux. Fondamentalement, ici vous pouvez voir que certains réseaux comme celui par défaut. Il est toujours là parce qu'il a été créé un jusqu'au début pour notre monde réel. OK, mais ensuite on change de réseau nommé orteil et c'est pourquoi on n'en a plus besoin. La même chose est avec les images. Comme vous pouvez le voir, cela prend un peu de temps, mais à la fin, nous verrons combien dans dilaté comme vous pouvez le voir, il a fallu comme, deux minutes sur ma machine pour tout enlever, et la partie la plus importante est des images supprimées. Comme vous pouvez le voir, j'ai eu beaucoup d'entre eux et en bas, vous pouvez voir l'espace total supprimé waas six gigaoctet. Donc, je vous recommande de faire cette procédure de temps en temps sur votre serveur de production et aussi localement lorsque vous développez, car dans ce cas, vous allez récupérer beaucoup d'espace. Si vous avez des commentaires ou des questions, hésitez pas à les poser et je répondrai à coup sûr. 28. Exercice: Donc ici, où vous avez terminé avec succès mes voitures de Docker composer et Dhaka et ont été déployés avec succès notre application riel à la production. Je pense qu'il a compris que le médecin n'est pas une balle d'argent, mais c'est un outil qui était vraiment belle route et nous pouvons l'utiliser vraiment efficace quatre développement local et de la production. Donc oui, c'est arrivé. Doc Files et Docker composer peut être délicat, surtout avec des choses telles que le mantra des pieds, Seigneur et ainsi de suite. Mais fondamentalement, nous le faisons sur ceux après le développement local et le déploiement en production est vraiment agréable et rapide. Et bien sûr, le plus important est qu'il soit stable. Maintenant, la question est de savoir ce qu'il faut faire ensuite. Et bien sûr, comme toujours, je dis que l'apprentissage par le cours est agréable Faire vraiment, Application est bonne, mais le faire par vous-même est le plus important. Donc, fondamentalement, je vous recommande de prendre un projet. Si vous avez déjà, par exemple, un petit projet latéral et essayez de l'écrire avec DACA et docker composer juste pour le bien que vous comprenez comment cela fonctionne du début à la fin. Si vous n'avez pas un tel projet, il suffit de prendre n'importe quel projet que vous voulez développer par vous-même. Par exemple, je ne sais pas que vous voulez construire une tarte pour le cinéma ou peut-être un clone sur Netflix, ou peut-être un tableau de bord de bande-annonce et juste écrire implémenté à partir de zéro en utilisant Docker et est toujours si vous avez des commentaires ou des questions, n' hésitez pas à leur demander, et je leur répondrai à coup sûr et vous verrai dans mon prochain cours.