‫متطلبات هذه المحاضرة هي أن تفهم ماهية الصورة وأنك قد أنجزت
‫القليل من العمل مع الحاويات.
‫في هذه المحاضرة ، سنقوم بجولة سريعة حول Docker Hub ونتعرف
‫على بعض ميزاته الأساسية. ثم سنناقش الاختلاف بين صورة رسمية وربما صور أخرى جيدة
‫، وكيفية التمييز بين الصورة الجيدة والصورة السيئة.
‫ثم سأعرض قليلاً حول تنزيل الصور وكيف يمكنك رؤية العلامات المختلفة التي سيستخدمونها
‫والفرق بين صورة جبال الألب وخيارات الصور الأخرى.
‫يجب عليك تسجيل الدخول إلى المحور. عامل ميناء. كوم. عند تسجيل الدخول ، تكون الصفحة الرئيسية
‫الافتراضية هي لوحة التحكم الخاصة بك ، والتي ستظهر لك جميع مستودعاتك ، العامة والخاصة.
‫لن يكون لديك أي شيء بعد ، ولكن يمكنك أن ترى أن لدي بعضًا هنا.
‫كلها عامة.
‫لدي واحدة خاصة. الآن دعنا ننتقل إلى الأعلى ونبحث في nginx. ما سنعود إليه هو نتائج البحث في Docker
‫Hub وسترى أن هناك الكثير. يمكنني التمرير للصفحات والصفحات.
‫أحد التحديات هو وجود 15000 صورة لـ Nginx.
‫هذا كثير.
‫لذا فأنا أستخدم واحدًا أو اثنين فقط.
‫الرسمية هنا
‫، سترون في الأعلى ، لديها أكثر من 10 ملايين سحب.
‫هناك العديد من الخصائص لمعرفة الصورة الصحيحة.
‫مثلي ، ستبدأ في استخدام الصور الخاصة بسير عملك والتي ترتبط بما تفعله وستعتاد
‫على صور محددة. أنت ستحب أشخاصًا معينين.
‫عادة ، نبدأ دائمًا بالمسؤول.
‫سيكون المسؤول الوحيد الذي تظهر كلمة "مسؤول" تحته فعليًا.
‫سيكون أيضًا الوحيد الذي لا يحتوي اسمه على شرطة مائلة للأمام.
‫عندما نقوم أنت وأنا بإنشاء صور على Docker Hub ، يتعين علينا إنشاءها مع وضع اسم حسابنا أمامها.
‫لذلك عندما تنظر إلى كل هذه الأنواع الأخرى ، فهذه أسماء حسابات مائلة لأسماء مستودعات الصور.
‫قد تكون في الواقع منظمة slash nginx أو شيء من هذا القبيل.
‫لكن الوحيدين الذين يحصلون على اسم الريبو يعتبرون رسميًا. الصور الرسمية هي تلك التي تستخدمها
‫شركة Docker، Inc. لديه بالفعل فريق من الأشخاص الذين يساعدون في الاعتناء
‫بهم ، والتأكد من أن لديهم وثائق عالية الجودة ، وأنهم تم اختبارهم جيدًا ، وأنهم قد تم تجميعهم بشكل
‫صحيح مع Dockerfiles التي تخضع لقواعد أفضل الممارسات. عادةً ما يعملون مع الفريق الرسمي لهذا البرنامج الذي
‫يصنعه بالفعل للتأكد من أنه يقوم بكل الأشياء التي يجب أن يقوم بها.
‫لذلك سأضغط على هذا.
‫دعنا نلقي نظرة على شيئين حول المستودعات الرسمية.
‫كما قلت من قبل ، غالبًا ما ستستخدم المسؤولين لتبدأ بهم ثم في النهاية قد تجد أنك تريد
‫تغييرها قليلاً أو إضافة بعض الأشياء إليها وستقوم بعمل صورك الخاصة.
‫الصور الرسمية هي طريقة رائعة للبدء.
‫من أفضل الأشياء المتعلقة بالصور الرسمية هو توثيقها.
‫إنهم دائمًا رائعون حقًا في توثيق كيفية جعلهم
‫يعملون ، وما هي الخيارات المتاحة ، ومتغيرات البيئة ، وما هو المنفذ الافتراضي وما إلى ذلك.
‫لذا ، بالرجوع إلى الأعلى ، ستلاحظ هذه الإصدارات. النسخ هي سمة مشتركة في المستودعات الرسمية.
‫ليس عليك أن يكون لديك نسخ في كل صورة لكن النسخ الرسمية تفعل ذلك.
‫نظرًا لأن معظم البرامج مفتوحة المصدر ، يوجد دائمًا على الأقل عدد قليل من الإصدارات الرسمية في
‫البرية والتي يتم صيانتها ودعمها رسميًا.
‫هذا ما لدينا هنا. لدينا الخط الرئيسي 1. 11 لـ Nginx ثم لدينا ما يعتبر الفرع
‫المستقر لـ Nginx ، وهو 1. 10. يمكننا أن نرى الاسم الصغير
‫هنا يقول ملف جيسي دوكر المستقر.
‫حسنا.
‫لذلك دعونا نكسر هذا.
‫1. 11. 9 ، الرئيسي ، 1 ، 1. 11 والأحدث.
‫هذه كلها علامات.
‫عندما نبدأ الحديث عن الصور ، لا يتم تسمية الصور بالضرورة. يتم تمييز الصور. يمكن أن تحتوي نسخة من الصورة
‫على أكثر من علامة واحدة.
‫سنغوص في هذا الأمر بعد قليل عندما نبدأ في صنع صورنا الخاصة ويمكننا
‫التلاعب في وضع العلامات.
‫ولكن في الوقت الحالي ، إذا كنت أرغب في تنزيل تلك الصورة المحددة بالفعل ، وتذكرت سابقًا أننا قمنا
‫بالفعل بتنزيلها
‫بالفعل ، لذا إذا قمت بعمل صورة لرسو السفن ، فسترى الصور الثلاث التي عملنا عليها حتى الآن جهازي.
‫ترى العلامة التي تقول الأحدث. الآن الأحدث هو علامة خاصة.
‫لا يضمن بالضرورة أنه دائمًا آخر التزام في المستودع.
‫ما يعنيه عادةً هو أنك تحصل على أحدث إصدار من هذا المنتج. في المستودعات الرسمية ، يتم تعريفه جيدًا ومتسقًا بحيث
‫إذا لم تكن مهتمًا
‫حقًا الآن بالنسخة التي تريدها بالضبط ، فأنت فقط تريد الإصدار الأحدث
‫، ثم يمكنك فقط أن تقول docker pull nginx. سوف يقوم بتنزيل
‫الأحدث. ستلاحظ أنه كان يعلم بالفعل أنني حصلت عليه ، فقد فحصت
‫SHA للتأكد من أنها تتطابق مع الصورة من Docker Hub وقالت "مرحبًا
‫، لقد حصلت بالفعل على هذه الصورة ، إنها محدثة. "ماذا لو أردت تنزيل نسخة docker image 1. 11. 9؟
‫سيتحقق منها ويرى ما يجب القيام به لتنزيل تلك الصورة واتضح أنها
‫لا تحتاج إلى فعل أي شيء لأنها نفس الإصدار بالضبط.
‫هذا ما يعنيه هذا الخط هنا.
‫يمكنني الإشارة إلى هذا الإصدار "الرئيسي ، الأحدث" هنا بواسطة أي من هذه العلامات.
‫السبب هو أنني أردت فقط البقاء على أحدث إصدار من 1. 0 ، مهما كان ذلك بالنسبة لـ Nginx
‫، يمكنني فقط تحديد 1. إذا أردت أن أكون أكثر تحديدًا عند
‫تنزيل الصور وأردت أحدث إصدار من 1. 11 ، ثم يمكنني كتابة 1. 11 مثل هذا واترك
‫فقط ملف. 9 وسوف يقوم بتنزيل هذا الملف.
‫لكن في حالتي ، لقد حددت بالفعل الأكثر تحديدًا من بين كل 1. 11. 9 الذي يوضح إصدار النقطة
‫وكان ذلك فقط للتأكد من أنني حصلت على الإصدار الدقيق الذي أردته.
‫لذلك في برنامجك ، فإن أفضل ممارسة هي عندما تريد الإنتاج وأنت في الواقع تختبر البرنامج الذي
‫ستستخدمه للآخرين ، فأنت تريد
‫دائمًا تحديد الإصدار الدقيق.
‫من النادر أنك تريد حقًا تحديث برنامجك تلقائيًا.
‫تريد عادةً التحكم في هذه العملية باستخدام بعض أدوات DevOps الأخرى.
‫ولكن عندما تقوم بتطوير أو اختبار شيء ما محليًا ، يكون من السهل جدًا باستخدام الصور الرسمية
‫كتابة الاسم فقط وافترض أنك ستحصل على الأحدث.
‫لذلك ستلاحظ هنا أن هناك أشياء أخرى.
‫يوجد 1. 11. 9-alpine وجميعها لها أسماء متشابهة جدًا مع الاسم الأول
‫ولكن جميعها تحتوي على كلمة alpine.
‫سوف ندخل في الصور الأساسية والتوزيعات لاحقًا ، لكن في الوقت الحالي ، Alpine هو في الواقع
‫توزيعة صغيرة جدًا من Linux.
‫حجمه أقل من 5 ميغا بايت على ما أعتقد. سيعني هذا الإصدار في الواقع أنه يأتي من صورة أساسية
‫لـ Alpine ، مما يجعله صغيرًا وخفيفًا للغاية ، في حين أن الصورة الافتراضية أو أحدث صورة تأتي في الواقع
‫من jessie ، وهي توزيعة دبيان. حجمها أكبر قليلاً ربما يزيد قليلاً
‫عن 100 ميغا بايت.
‫في الواقع ، يمكننا أن نذهب هنا ويمكننا أن ننظر.
‫لذا ، nginx 182MB هنا.
‫إذا كنت أرغب في تنزيل هذا الإصدار الدقيق من جبال الألب ، يمكنني القول 1. 11. 9-apline ثم قم بعمل docker image
‫ls وسترى أن إصدار جبال الألب هو في الواقع 54 ميجا بايت فقط وأحدث
‫إصدار هو 182 ميجا بايت.
‫ستلاحظ أيضًا أن الإصدارات الثلاثة التي قمت بتنزيلها تحتوي
‫جميعها على نفس معرف الصورة لأن معرف الصورة يعتمد على تشفير SHA لكل صورة في Docker Hub.
‫لذا فهذه ليست في الواقع ثلاث نسخ مختلفة من صور 128 ميجا بايت.
‫إنه في الواقع مخادع قليلاً.
‫إنها في الحقيقة مجرد ثلاث علامات لمعرف الصورة نفسه ، ويبلغ إجمالي حجمها 182 ميجا بايت
‫فقط وهذان سطرين فقط يعرضان نفس معرف الصورة بعلامات مختلفة مرتبطة به.
‫لكن يكفي عن العلامات والإصدارات في الوقت الحالي.
‫دعنا نتحقق من
‫بعض الأشياء الأخرى في Docker Hub. إذا عدت إلى nginx في شريط البحث وبحثت عن nginx مرة أخرى ، فسترى
‫مرة أخرى أن هناك الكثير من الخيارات الأخرى ويمكن لأي شخص صنعها.
‫يمكنك إنشاء إصدار Nginx المخصص الخاص بك ولأنه برنامج مفتوح المصدر
‫ومجاني للتوزيع ، يمكنك إعادة وضعه هنا وعرضه للجمهور.
‫هذا مشابه جدًا لطراز GitHub حيث يسمح لك بتخزين البرامج مفتوحة المصدر ويمكنك
‫أيضًا تفكيك برامج الأشخاص الآخرين وتقديمها أيضًا.
‫الشيء نفسه ينطبق هنا.
‫يمكنك استخدام صور الآخرين وتنزيلها ، وجعلها خاصة بك ، وإعادة تحميلها.
‫لذا ، إذا أردت في أي وقت التفكير في عدم استخدام مستودع رسمي ، فإن ما أبحث عنه عادة هو عدد
‫من النجوم وعدد من استطلاعات الرأي لأن المستودع الشعبي ، بالنسبة لي ، يميل إلى بناء الثقة.
‫أوصيك دائمًا بتنزيل البرنامج وفحصه قبل استخدامه. انظر في Dockerfile الخاص بهم ونأمل أن
‫يكون لديهم مستودع مفتوح المصدر يمكنك الذهاب إليه لإلقاء نظرة على كيفية صنع هذه
‫الصورة بالضبط.
‫من المؤشرات الجيدة أن ترى أشياء بها خمسة ملايين سحب عليها و 945 نجمة ؛ من الواضح أن هناك شيئًا مثيرًا للاهتمام
‫حول هذه الحزمة ولماذا يختارها الكثير من الأشخاص بدلاً من استخدام الصورة
‫الرسمية.
‫يمكنك المجيء هنا وإلقاء نظرة على المستودع الخاص بهم.
‫يمكنك في الواقع أن ترى على اليمين أنه مرتبط بمستودع GitHub الخاص به حيث أن البرنامج
‫مفتوح المصدر الفعلي هو الذي يبني هذه الصورة بحيث يمكنك الذهاب وفحصها ؛ وربما تنزيل شفرة
‫المصدر الفعلية خارج الصورة.
‫لكن من الواضح أنه فعل شيئًا مع صورة Nginx هذه مما يجعلها أفضل من
‫الافتراضي الرسمي.
‫زوجان من الأشياء. في الشريط العلوي ، سترى استكشاف. يمنحك الاستكشاف فقط
‫ملخصًا لجميع الصور الرسمية ويمكنك الاطلاع عليها ، وثق
‫بي ، هناك الكثير. في الواقع ، ستجد في الموارد الخاصة
‫بهذا القسم رابطًا إلى القائمة الفعلية للصور الرسمية وضمن "المكتبة" ، هذا هو المكان الذي تعيش
‫فيه جميع الصور الرسمية وملفات Dockerfiles الخاصة بها.
‫يمكنك أن ترى أن هناك الكثير. كخلاصة سريعة ، تحدثنا في هذه المحاضرة عن Docker Hub
‫وكيف يشبه كونك مدير الحزم المناسب للحاويات ، ثم كيفية
‫التعرف على الصور الرسمية وكيفية استخدامها.
‫ثم ساعدتك في معرفة كيفية تحديد صورة عامة جيدة ربما من صورة غير جيدة.
‫ثم بعض النصائح حول الصور الأساسية وكيف تكون صور جبال الألب عادةً أصغر من نظيراتها في دبيان.
‫لذلك سنستخدم هذه المهارات في بقية هذا القسم.