‫D'ACCORD.
‫C’est moi qui traverse la mission 2. J'ai trois panneaux ouverts ici.
‫J'ai sur ma gauche où je peux exécuter les commandes de composition du menu fixe. Vous pouvez voir dans ce répertoire que vous
‫commencez avec le même répertoire. Le readme qui me dit comment passer au travers.
‫Ensuite, le fichier docker qui est vide et un fichier de docker composé qui est vide.
‫Puis à ma droite, j'ai ouvert Vim pour pouvoir voir les fichiers que je dois éditer en haut. Puis en bas, j'ai les
‫instructions.
‫Premièrement, je dois me concentrer sur le fichier Dockerfile.
‫Il dit que je dois faire un drupal 8. 2 Ensuite, je dois faire une course pour installer Git. Apt obtenir mise à jour.
‫mise à jour.
‫Au fait, l'install -y ... -y y
‫signifie automatiquement dire oui.
‫Et comme ça ça va auto ... cela ne vous demandera pas d'installer Git.
‫Et cela parle d'un nettoyage approprié.
‫Donc, chaque fois que vous utilisez apt-get, apt-get crée un cache lorsque vous effectuez la mise à jour d'apt-get.
‫Nous voulons donc vraiment supprimer ce cache, car il représente au moins 10 Mo d’image
‫dont nous n’avons pas besoin.
‫Dans ce cas, je peux utiliser la barre oblique inverse, ce qui signifie inclure la ligne suivante dans cette commande. Et puis les symboles &&
‫... ou
‫esperluette esperluette ... sont en train de me dire que si la première commande réussit, faites aussi celle-ci.
‫Et en fait, nous en avons un ici.
‫Donc, c'est en fait le troisième commandement que je vais faire. Supprimer ces fichiers spécifiques.
‫C'est un assez commun. Vous voyez cela dans beaucoup d'images.
‫Je viens de l'ajouter à toutes mes images juste pour les garder propres.
‫Ce n'est pas réellement une nécessité pour le faire fonctionner.
‫C'est juste là pour le garder propre.
‫Nous devons donc changer le répertoire de travail de notre modèle ou de nos thèmes.
‫Ensuite, nous allons avoir besoin de faire un clone.
‫Je vais aller de l'avant et ... copier cela et le coller.
‫Si vous êtes une personne Git, vous verrez peut-être que ces éléments sont familiers. Git, évidemment tire notre ... est en train de cloner
‫ce référentiel Git particulier qui est un modèle. Il utilise une branche spécifique. C’est en utilisant ces
‫deux variables, ces deux options ici, que
‫j’ai introduites sont là pour lui dire de ne télécharger que la dernière copie et seulement cette branche particulière. Cela vous fait économiser beaucoup de temps.
‫En fait, cela vous évite des minutes de téléchargement de référentiels Git. Si vous n'avez besoin que de la
‫dernière validation absolue et de tous les fichiers qu'elle contient, vous n'avez besoin
‫que d'une branche particulière, ce qui est probablement tout ce dont vous avez besoin pour déployer une image.
‫Parce que si nous allions changer cela, nous construirions simplement une nouvelle image. Droite?
‫Donc c'est un bon conseil.
‫Si vous utilisez beaucoup Git pour la création d’images, cela vous fait économiser
‫beaucoup de temps et d’espace, car vous n’avez pas besoin de l’ensemble de l’historique du référentiel. Vous avez juste besoin du dernier commit.
‫D'ACCORD.
‫Alors le problème ici est que ces fichiers ... c'est un problème courant chez Docker ... que toutes
‫les commandes que vous exécutez ici, elles seront toutes exécutées en tant que root.
‫Donc, ces fichiers viennent d'être téléchargés et placés dans ce répertoire en tant que root.
‫Mais le problème est que le serveur Web Apache s'attend à ce que ces fichiers soient l'utilisateur de données www.
‫Je dois donc modifier les autorisations par la suite pour que cela fonctionne correctement.
‫Vous n'êtes pas obligé de connaître ces commandes.
‫Mais ceci est très courant, ce qui signifie propriétaire du changement. Et -r désigne tous les fichiers de
‫cet utilisateur et de ce groupe, y compris les sous-répertoires et les sous-fichiers.
‫Nous le limiterons uniquement au répertoire que nous avons créé.
‫Économisez-nous quelques microsecondes. Je dois ensuite modifier mon répertoire de travail au cas où
‫l'application s'attend à se trouver dans le répertoire de travail dans lequel elle avait démarré.
‫Je n'ai pas besoin d'en spécifier d'autres, comme une cmd ou autre chose, car celles-ci
‫sont déjà spécifiées dans l'image from ...
‫l'image Drupal que je tire. D'accord. Je pense que j'ai fini
‫Passons au fichier Compose.
‫Si vous avez conservé votre fichier auparavant, cela pourrait ressembler à ceci. Droite?
‫Il contient les services, puis le
‫Drupal avec le nom d’image drupal, puis les volumes, puis le postgres et la variable d’environnement pour le mot de passe.
‫Et puis on définit les volumes.
‫Ce que nous devons
‫faire pour que cela fonctionne dans cette situation, conformément à nos instructions, nous devons renommer l’image.
‫Chaque fois qu’un fichier composé
‫contient une clé d’image et une clé de construction, l’objet de la clé d’image est modifié.
‫Maintenant, au
‫lieu de nous le dire, "hé, je veux que vous téléchargiez l'image officielle Drupal", nous disons, une fois que nous avons ajouté
‫la construction, nous disons: "hé, je veux construire à partir d'un emplacement spécifique sur mon machine locale et puis je veux appeler l'image que vous construisez ce nom d'image. 'Maintenant, je n'ai pas réellement besoin de spécifier le nom de
‫l'image.
‫Je pourrais supprimer complètement la ligne d’image et
‫créer un nom nommé automatiquement, basé sur le nom Compose, que vous avez probablement remarqué. Chaque fois que vous utilisez Compose, tous les noms sont
‫compatibles avec ce projet.
‫Mais, nous allons aller de l'avant et coder en dur ici.
‫Remarquez que je mets un point pour la construction.
‫Ce n'est qu'un raccourci, un raccourci pour
‫simplement dire: 'Hé, construisez simplement ce répertoire et utilisez le fichier Docker qui est le nom par défaut. «Je ne lui donne aucune option de construction.
‫Je ne lui dis pas un fichier de construction personnalisé ou un emplacement personnalisé.
‫Je dis simplement la façon la plus simple, c'est comment nous l'avons construit.
‫D'accord. Ça c'est fait.
‫Cela devrait créer une image personnalisée basée sur mon fichier Dockerfile. Ensuite, ici, dans
‫Postgres, je dois créer un volume.
‫Nous voulons qu'il conserve nos données.
‫La raison pour laquelle nous souhaitons préserver les données est
‫que si vous testez cela, et que vous effectuez une composition docker, elle supprimera la base de données et nous ne le ferons pas.
‫quand nous le rallumons, il ne contiendra plus les données. Nous voulons donc nous assurer de conserver les données
‫lors des redémarrages de Compose.
‫Si nous faisons un docker maintenant, après que nous ayons ce volume de données, il ne supprimera pas réellement ce volume de données,
‫à moins que nous ne fassions un -v à la fin, ce qui le dit, 'hé, je veux aussi supprimer les volumes. 'Je
‫pense que c'est vrai.
‫Drupal
‫data var lib postgres données SQL.
‫D'accord.
‫Ensuite, je dois aussi mettre ça ici.
‫Les données.
‫D'accord.
‫Je pense que nous sommes prêts.
‫Sauvegarder mes fichiers.
‫Voyons si nous pouvons composer un docker. OK, vérifions notre navigateur localhost 8080.
‫D'accord.
‫Si
‫tout cela fonctionne, je peux parcourir
‫cette installation comme nous le faisions auparavant et postgres postgres mypasswd postgres.
‫Sauvegarder et continuer. Je vais un peu vite cette fois parce que je pense que vous l'avez déjà fait.
‫Je vais configurer le site très rapidement.
‫D'ACCORD.
‫Nous
‫sommes sur le site et les instructions nous indiquent d’aller dans l’onglet Apparence et de remarquer que nous sommes sur la valeur par défaut de Bartik.
‫Nous avons eu ce thème désinstallé ici
‫qui n'aurait pas existé si nous ne l'avions pas installé avec notre image.
‫Je peux cliquer sur installer et définir par défaut.
‫Puis cliquez sur retour au site.
‫J'ai un tout nouveau thème
‫sur mon site en utilisant le framework bootstrap de Twitter, un système de templates très populaire pour les CSS et les
‫sites Web.
‫Donc, tout fonctionne comme il se
‫doit.
‫Si j'y retourne
‫et que j'arrête réellement cela, que je l'abandonne et que je fais ensuite une descente, les images seront supprimées.
‫Mais rappelez-vous, il ne va pas supprimer les données.
‫Si je rédigeais à nouveau
‫le menu fixe, tous les fichiers de configuration des modules et profils Drupal, ainsi que les sites, les thèmes et
‫les données contenues dans la base de données devraient toujours être présents.
‫Je devrais être capable de frapper rafraîchir et ça fonctionne toujours.
‫L'avantage de cette méthode est
‫que vous pouvez réellement garder vos images et vos contenants relativement propres.
‫De cette façon,
‫lorsque vous passez d'un projet à l'autre, vous pouvez techniquement vous en débarrasser et le laisser tranquille ... les volumes ... les volumes seuls ... ne supprimez pas les données qu'ils contiennent. Laissez simplement les volumes et ne supprimez pas leurs
‫données.
‫Ensuite, lorsque vous revenez au projet,
‫vous avez déjà tous les exemples de données et vous ne partez pas de zéro.
‫D'accord. C'est ça.