‫D'accord. Maintenant que vous avez tout appris sur les volumes et les montages de
‫liaison, et pourquoi nous devons nous préoccuper des données persistantes, prenons un scénario réaliste, à savoir les mises à niveau de la base de données.
‫Imaginez une situation dans laquelle vous exécutez une version particulière d'une base de données.
‫Supposons que postgres et vous avez besoin de mettre à jour la version du correctif car il existe peut-être un correctif de sécurité, ou un
‫correctif de bogue, ou quelque chose du genre.
‫Normalement, sur un système, il vous suffit de mettre à jour le logiciel. Vous feriez une mise à jour ou une mise à niveau du
‫système de gestion des paquets, qui gérerait toutes les mises à jour des bibliothèques et tout seul.
‫Mais comment fait-on cela dans un conteneur?
‫Parce que, si nous essayons de suivre la meilleure pratique qui consiste à ne pas mettre à jour les applications dans des conteneurs,
‫mais plutôt à remplacer le conteneur par une nouvelle version, comment procédons-nous avec la base de données?
‫Ce que vous allez faire pour cette affectation, c'est que vous allez utiliser Docker Hub pour vous fournir des informations sur la mise
‫à jour de la version spécifique de postgres. Nous allons commencer par vous créer spécifiquement un
‫conteneur en utilisant la version 9. 6 1, qui est une version plus ancienne. Et vous allez avoir besoin de créer un volume nommé.
‫Vous devrez vous appuyer sur la documentation de Docker Hub pour cela, en utilisant le dépôt officiel de postgres.
‫Vous devez vous rendre dans le fichier Dockerfile pour cette version spécifique et
‫connaître le chemin du volume. Ensuite, vous pouvez nommer votre volume comme vous le souhaitez sur le côté gauche.
‫Mais rappelez-vous que deux points à droite, c’est le chemin où les bases de données réelles vont
‫se trouver dans le conteneur.
‫Une fois que vous avez tout compris et que vous avez démarré votre conteneur, vous devez commencer à vérifier les journaux pour voir quand il
‫a fini de créer les bases de données et tous les éléments de démarrage. Parce que la première fois que vous
‫démarrez un conteneur de base de données, il effectue généralement de nombreuses tâches en arrière-plan,
‫telles que la création de l'utilisateur admin, une base de données par défaut, etc.
‫Il y aura un moment où les journaux s'arrêteront et ensuite, ils seront simplement en cours d'exécution.
‫Si vous l'avez fait correctement, vous pourrez créer un volume de docker ls et voir le volume qui y est répertorié, avec le nom que vous lui
‫avez donné, et vous devriez pouvoir arrêter ce conteneur. Ensuite, vous allez créer un
‫nouveau conteneur avec une nouvelle version.
‫Il s'agira d'une commande très similaire à la première, si vous spécifiez une version différente, vous vous
‫assurerez également que vous souhaitez spécifier le volume du nom nommé, car il doit utiliser les données que vous avez
‫utilisées dans la première.
‫Bien sûr, assurez-vous que le premier est arrêté car ils ne peuvent pas accéder aux
‫mêmes données en même temps.
‫Une fois que vous avez démarré, alors allez-y et vérifiez à nouveau les journaux pour ce nouveau conteneur.
‫Ce que vous devriez voir, c'est qu'il ne contient que quelques lignes de journaux de démarrage, car il n'a pas à
‫effectuer tout le travail du démarrage initial.
‫C'est un peu comme si vous saviez qu'il utilise le même
‫volume nommé, c'est que la deuxième fois qu'il démarre, il ne peut contenir que quatre ou cinq entrées de journal.
‫Donc, ceci est un scénario du monde réel.
‫Vous ferez cela si vous utilisez des bases de données de production ou tout ce que vous devez maintenir à jour.
‫Notez que la plupart des systèmes de base de données n'effectuent pas automatiquement les mises à niveau majeures.
‫Cela nécessite généralement un outil. Avec Postgres ou MySQL, vous devez exécuter un outil
‫distinct pour chacun d’eux.
‫En réalité, il s’agit simplement de mettre à niveau les versions de correctif ou ce dernier numéro qui ne nécessite
‫aucune modification de schéma ni aucune mise à jour majeure du code de données lui-même.
‫Comme avant, si vous
‫êtes bloqué, ne vous inquiétez pas, car il s’agit d’une chose nouvelle et il se peut que ce ne soit pas si clair dans Docker Hub.
‫Si vous êtes bloqué à un moment donné et que Docker Hub ne
‫vous aide pas, vérifiez simplement la conférence suivante, qui consiste à passer par le même exercice que je le ferais.
‫Bonne chance.