﻿1
00:00:04,670 --> 00:00:10,720
‫D'accord. Maintenant que vous avez tout appris sur les volumes et les montages de

2
00:00:10,720 --> 00:00:16,120
‫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.

3
00:00:16,120 --> 00:00:21,250
‫Imaginez une situation dans laquelle vous exécutez une version particulière d'une base de données.

4
00:00:21,250 --> 00:00:28,210
‫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

5
00:00:28,210 --> 00:00:30,490
‫correctif de bogue, ou quelque chose du genre.

6
00:00:30,490 --> 00:00:36,730
‫Normalement, sur un système, il vous suffit de mettre à jour le logiciel. Vous feriez une mise à jour ou une mise à niveau du

7
00:00:37,030 --> 00:00:41,340
‫système de gestion des paquets, qui gérerait toutes les mises à jour des bibliothèques et tout seul.

8
00:00:41,650 --> 00:00:43,090
‫Mais comment fait-on cela dans un conteneur?

9
00:00:43,180 --> 00:00:48,700
‫Parce que, si nous essayons de suivre la meilleure pratique qui consiste à ne pas mettre à jour les applications dans des conteneurs,

10
00:00:48,700 --> 00:00:52,810
‫mais plutôt à remplacer le conteneur par une nouvelle version, comment procédons-nous avec la base de données?

11
00:00:52,810 --> 00:00:58,990
‫Ce que vous allez faire pour cette affectation, c'est que vous allez utiliser Docker Hub pour vous fournir des informations sur la mise

12
00:00:59,110 --> 00:01:03,910
‫à jour de la version spécifique de postgres. Nous allons commencer par vous créer spécifiquement un

13
00:01:03,910 --> 00:01:12,100
‫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é.

14
00:01:12,100 --> 00:01:18,820
‫Vous devrez vous appuyer sur la documentation de Docker Hub pour cela, en utilisant le dépôt officiel de postgres.

15
00:01:19,270 --> 00:01:23,920
‫Vous devez vous rendre dans le fichier Dockerfile pour cette version spécifique et

16
00:01:23,920 --> 00:01:28,260
‫connaître le chemin du volume. Ensuite, vous pouvez nommer votre volume comme vous le souhaitez sur le côté gauche.

17
00:01:28,270 --> 00:01:33,040
‫Mais rappelez-vous que deux points à droite, c’est le chemin où les bases de données réelles vont

18
00:01:33,040 --> 00:01:34,590
‫se trouver dans le conteneur.

19
00:01:34,810 --> 00:01:38,680
‫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

20
00:01:38,680 --> 00:01:43,390
‫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

21
00:01:43,390 --> 00:01:47,680
‫démarrez un conteneur de base de données, il effectue généralement de nombreuses tâches en arrière-plan,

22
00:01:47,710 --> 00:01:51,810
‫telles que la création de l'utilisateur admin, une base de données par défaut, etc.

23
00:01:51,820 --> 00:01:55,660
‫Il y aura un moment où les journaux s'arrêteront et ensuite, ils seront simplement en cours d'exécution.

24
00:01:55,660 --> 00:02:02,530
‫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

25
00:02:02,620 --> 00:02:07,630
‫avez donné, et vous devriez pouvoir arrêter ce conteneur. Ensuite, vous allez créer un

26
00:02:07,660 --> 00:02:10,560
‫nouveau conteneur avec une nouvelle version.

27
00:02:10,630 --> 00:02:16,300
‫Il s'agira d'une commande très similaire à la première, si vous spécifiez une version différente, vous vous

28
00:02:16,310 --> 00:02:22,780
‫assurerez également que vous souhaitez spécifier le volume du nom nommé, car il doit utiliser les données que vous avez

29
00:02:22,780 --> 00:02:24,420
‫utilisées dans la première.

30
00:02:24,460 --> 00:02:28,060
‫Bien sûr, assurez-vous que le premier est arrêté car ils ne peuvent pas accéder aux

31
00:02:28,060 --> 00:02:29,450
‫mêmes données en même temps.

32
00:02:29,680 --> 00:02:33,730
‫Une fois que vous avez démarré, alors allez-y et vérifiez à nouveau les journaux pour ce nouveau conteneur.

33
00:02:34,000 --> 00:02:38,980
‫Ce que vous devriez voir, c'est qu'il ne contient que quelques lignes de journaux de démarrage, car il n'a pas à

34
00:02:38,980 --> 00:02:40,900
‫effectuer tout le travail du démarrage initial.

35
00:02:40,900 --> 00:02:43,650
‫C'est un peu comme si vous saviez qu'il utilise le même

36
00:02:43,660 --> 00:02:48,050
‫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.

37
00:02:48,310 --> 00:02:50,070
‫Donc, ceci est un scénario du monde réel.

38
00:02:50,070 --> 00:02:54,860
‫Vous ferez cela si vous utilisez des bases de données de production ou tout ce que vous devez maintenir à jour.

39
00:02:55,000 --> 00:03:00,700
‫Notez que la plupart des systèmes de base de données n'effectuent pas automatiquement les mises à niveau majeures.

40
00:03:00,700 --> 00:03:05,470
‫Cela nécessite généralement un outil. Avec Postgres ou MySQL, vous devez exécuter un outil

41
00:03:05,470 --> 00:03:06,670
‫distinct pour chacun d’eux.

42
00:03:06,670 --> 00:03:12,310
‫En réalité, il s’agit simplement de mettre à niveau les versions de correctif ou ce dernier numéro qui ne nécessite

43
00:03:12,310 --> 00:03:16,800
‫aucune modification de schéma ni aucune mise à jour majeure du code de données lui-même.

44
00:03:16,870 --> 00:03:18,080
‫Comme avant, si vous

45
00:03:18,160 --> 00:03:24,400
‫ê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.

46
00:03:24,730 --> 00:03:28,120
‫Si vous êtes bloqué à un moment donné et que Docker Hub ne

47
00:03:28,120 --> 00:03:33,180
‫vous aide pas, vérifiez simplement la conférence suivante, qui consiste à passer par le même exercice que je le ferais.

48
00:03:33,190 --> 00:03:33,550
‫Bonne chance.

