﻿1
00:00:04,670 --> 00:00:10,720
‫حسنا. الآن بعد أن تعلمت كل شيء عن وحدات التخزين وعمليات ربط الربط ، ولماذا

2
00:00:10,720 --> 00:00:16,120
‫نحتاج إلى القلق بشأن البيانات المستمرة ، فلنقم بشيء يمثل سيناريو في العالم الحقيقي ، وهو ترقيات قاعدة البيانات.

3
00:00:16,120 --> 00:00:21,250
‫تخيل موقفًا تقوم فيه بتشغيل إصدار معين من قاعدة البيانات.

4
00:00:21,250 --> 00:00:28,210
‫لنفترض postgres ، وتحتاج إلى تحديث إصدار التصحيح لأنه ربما يكون هناك إصلاح أمني أو إصلاح

5
00:00:28,210 --> 00:00:30,490
‫خطأ أو شيء من هذا القبيل.

6
00:00:30,490 --> 00:00:36,730
‫عادةً ما تقوم بتحديث البرنامج على النظام. ستعمل على تحديث أو ترقية نظام إدارة الحزم

7
00:00:37,030 --> 00:00:41,340
‫، وستتعامل مع جميع التحديثات للمكتبات وكل شيء بمفرده.

8
00:00:41,650 --> 00:00:43,090
‫لكن كيف نفعل ذلك في وعاء؟

9
00:00:43,180 --> 00:00:48,700
‫لأنه إذا كنا نحاول اتباع أفضل الممارسات المتمثلة في عدم تحديث التطبيقات في الحاويات ، بل

10
00:00:48,700 --> 00:00:52,810
‫استبدال الحاوية بإصدار جديد ، فكيف نفعل ذلك بقاعدة البيانات؟

11
00:00:52,810 --> 00:00:58,990
‫ما ستفعله لهذه المهمة هو أنك ستستخدم Docker Hub لتزويدك ببعض المعلومات حول تحديث

12
00:00:59,110 --> 00:01:03,910
‫الإصدار المحدد من postgres. سنبدأ معك على وجه التحديد في إنشاء

13
00:01:03,910 --> 00:01:12,100
‫حاوية باستخدام الإصدار 9. 6. 1 ، وهو إصدار أقدم. وستحتاج إلى إنشاء مجلد مسمى.

14
00:01:12,100 --> 00:01:18,820
‫سيتعين عليك الاعتماد على وثائق Docker Hub لهذا الغرض ، باستخدام مستودع postgres الرسمي.

15
00:01:19,270 --> 00:01:23,920
‫ستحتاج إلى الدخول إلى Dockerfile لهذا الإصدار المحدد ومعرفة ما يجب

16
00:01:23,920 --> 00:01:28,260
‫أن يكون عليه مسار وحدة التخزين. ثم يمكنك تسمية وحدة التخزين الخاصة بك ما تريده على الجانب الأيسر.

17
00:01:28,270 --> 00:01:33,040
‫لكن تذكر أن النقطتين على الجانب الأيمن منه ، يجب أن يكون المسار حيث ستكون قواعد البيانات

18
00:01:33,040 --> 00:01:34,590
‫الفعلية في الحاوية.

19
00:01:34,810 --> 00:01:38,680
‫بمجرد الانتهاء من فهم كل ذلك وبدء الحاوية الخاصة بك ، يجب أن تبدأ في التحقق من السجلات لمعرفة متى

20
00:01:38,680 --> 00:01:43,390
‫تنتهي من إنشاء قواعد البيانات وجميع عناصر بدء التشغيل. نظرًا لأن المرة الأولى التي تبدأ فيها حاوية

21
00:01:43,390 --> 00:01:47,680
‫قاعدة بيانات ، فإنها عادةً ما تقوم بمجموعة من الأشياء في الخلفية ، مثل إنشاء

22
00:01:47,710 --> 00:01:51,810
‫المستخدم المسؤول ، وقاعدة بيانات افتراضية ، وما إلى ذلك.

23
00:01:51,820 --> 00:01:55,660
‫ستكون هناك نقطة ستتوقف فيها السجلات وبعد ذلك ستعمل.

24
00:01:55,660 --> 00:02:02,530
‫إذا قمت بذلك بشكل صحيح ، فستتمكن من عمل وحدة تخزين docker ls ومشاهدة وحدة التخزين المدرجة هناك ، بالاسم الذي أعطيته لها ،

25
00:02:02,620 --> 00:02:07,630
‫ويجب أن تكون قادرًا على إيقاف هذه الحاوية. ثم ستنشئ حاوية جديدة

26
00:02:07,660 --> 00:02:10,560
‫بإصدار جديد.

27
00:02:10,630 --> 00:02:16,300
‫سيكون أمرًا مشابهًا جدًا للأمر الأول ، أنت فقط تحدد إصدارًا مختلفًا ، وستتأكد

28
00:02:16,310 --> 00:02:22,780
‫أيضًا من أنك تريد تحديد حجم الاسم نفسه لأنه يحتاج إلى استخدام البيانات التي استخدمتها

29
00:02:22,780 --> 00:02:24,420
‫في الإصدار الأول.

30
00:02:24,460 --> 00:02:28,060
‫بالطبع ، تأكد من إيقاف أول واحد لأن كلاهما لا يمكنه الوصول إلى نفس

31
00:02:28,060 --> 00:02:29,450
‫البيانات في نفس الوقت.

32
00:02:29,680 --> 00:02:33,730
‫بمجرد بدء تشغيله ، امض قدمًا وتحقق من السجلات مرة أخرى لتلك الحاوية الجديدة.

33
00:02:34,000 --> 00:02:38,980
‫ما يجب أن تراه هو أنه يحتوي على سطرين فقط من سجلات بدء التشغيل لأنه لا يتعين عليه القيام

34
00:02:38,980 --> 00:02:40,900
‫بكل أعمال بدء التشغيل الأولي.

35
00:02:40,900 --> 00:02:43,650
‫هذا نوع من الطريقة التي تعرف بها أنه يستخدم نفس الحجم المسمى

36
00:02:43,660 --> 00:02:48,050
‫هو أنه في المرة الثانية التي يبدأ فيها ، قد يحتوي فقط على أربعة أو خمسة إدخالات سجل.

37
00:02:48,310 --> 00:02:50,070
‫إذن هذا سيناريو من العالم الحقيقي.

38
00:02:50,070 --> 00:02:54,860
‫ستفعل ذلك إذا قمت بتشغيل قواعد بيانات إنتاج أو أي شيء تحتاج إلى مواكبة التطورات.

39
00:02:55,000 --> 00:03:00,700
‫لاحظ أن معظم أنظمة قواعد البيانات لا تجري ترقيات رئيسية تلقائيًا.

40
00:03:00,700 --> 00:03:05,470
‫عادة ما يتطلب أداة. مع postgres أو MySQL ، هناك أداة منفصلة لكل منها

41
00:03:05,470 --> 00:03:06,670
‫يجب عليك تشغيلها.

42
00:03:06,670 --> 00:03:12,310
‫هذا في الواقع يتعلق فقط بترقية إصدارات التصحيح أو الرقم الأخير الذي لا يتطلب

43
00:03:12,310 --> 00:03:16,800
‫تغييرات في المخطط أو أي تحديثات رئيسية لرمز البيانات نفسه.

44
00:03:16,870 --> 00:03:18,080
‫كما هو الحال من قبل

45
00:03:18,160 --> 00:03:24,400
‫، إذا واجهتك مشكلة ، فلا داعي للقلق لأن هذا شيء جديد وقد لا يكون واضحًا في Docker Hub.

46
00:03:24,730 --> 00:03:28,120
‫إذا واجهتك مشكلة في مرحلة ما ولم يساعدك Docker Hub في الخروج

47
00:03:28,120 --> 00:03:33,180
‫، فما عليك سوى التحقق من المحاضرة التالية ، وهي أنني أمارس هذا التمرين نفسه كما أفعل.

48
00:03:33,190 --> 00:03:33,550
‫حظا طيبا وفقك الله.

