‫سيكون هذا القسم هو كل شيء عن سجلات صور الحاوية.
‫هناك الكثير مما يجب
‫القيام به ، لذلك ، سنبدأ فعليًا بالقول أنك بحاجة إلى تسجيل صور في خطتك.
‫إنه ليس حقًا جزءًا اختياريًا من النظام البيئي للحاويات. الطريقة التي تم بها تصميم Docker والأدوات
‫الأخرى هي أنها بحاجة إلى مكان ، خارج الخوادم الخاصة بك وخارج محطات عمل المطورين ، لتخزين صورك
‫بالفعل.
‫من الناحية الفنية ، يمكن أن تكون ملفات مضغوطة ويمكنك تصديرها واستيرادها ولكن هذا حقًا
‫موقف شاق.
‫لذا فأنت تريد حقًا التخطيط لسجل ، سواء كان على الإنترنت أو سجل خاص.
‫سنمر في الواقع ببعض الأشياء والمحاضرات المختلفة هنا حيث نتحدث
‫عن تفاصيل Docker Hub وبعض خيارات الإنشاء التلقائي هناك.
‫سنركز على Docker Store لإلقاء محاضرة وكيف يختلف هذا في الواقع عن Hub.
‫ثم خيار Docker Cloud ، والذي يختلف أيضًا عن Hub ، ولكنه أيضًا مكون إضافي لمجموعة
‫أدوات Docker
‫، وربما يساعدك في تسهيل نشر الخوادم والأشياء الخاصة بك في السحابة.
‫لدينا أيضًا ميزة Swarms الجديدة الآن في Docker Cloud والتي سأحضر محاضرة محددة عنها.
‫وبعد ذلك ، ستتعلم كيفية إنشاء السجل الخاص بك ونشره على جهازك المحلي أو على
‫Docker Swarm لاستخدامه كسجل خاص.
‫إنه في الواقع مفتوح المصدر. وبعد ذلك سنذكر بعض خيارات تسجيل الطرف
‫الثالث في حالة عدم رغبتك في استخدام Docker Hub أو سجل Docker مفتوح المصدر.
‫في هذه المحاضرة سنغطي بعض الموضوعات المتقدمة في Docker Hub.
‫الآن ، هو أشهر تسجيل للصور في العالم للحاويات ، لكنه ليس الوحيد.
‫دعنا نرى فقط ما يفعله بالإضافة
‫إلى ما ناقشناه بالفعل حتى الآن. باختصار ، Hub هو سجل ، ولكنه يحتوي أيضًا على صورة بناء فيه.
‫هذا ليس عادةً جزءًا من ، على سبيل المثال ،
‫سجل مفتوح المصدر ولذا فهو يحتوي على القليل من العناصر الإضافية التي تسمح
‫لك ببناء الصور بسرعة.
‫سننتقل إلى بعض هذه الميزات هنا.
‫وبعد ذلك ، تحدث أيضًا عن ربط حسابات GitHub و BitBucket الخاصة بك بـ Hub وتحقق من
‫بعض ميزات الإنشاء التلقائي لبناء صورك بناءً على الالتزامات.
‫وبعد ذلك ، سنعرض بعض الميزات حول تسلسل بناء الصورة معًا ، بحيث يمكنك
‫تسهيل التأكد من تحديث صورك دائمًا.
‫لقد غطينا بالفعل قليلاً عن Docker Hub عندما عرفنا
‫لأول مرة عن الصور في وقت سابق من هذه الدورة التدريبية. لكنني أردت الاطلاع على بعض الميزات الأخرى
‫التي ربما لم نناقشها ، ثم مقارنة ذلك بمتجر Docker ، ثم التحدث عما قد تفعله
‫Docker Cloud لنا قبل أن ندخل بالفعل في خيارات التسجيل الأخرى لأنفسنا .
‫من الواضح أن Docker Hub عبارة عن سجل.
‫هذا ما كنا نتحدث عنه في هذه الدورة التدريبية بأكملها.
‫إنها الطريقة التي نسحب بها جميع صورنا ، وهي السجل الافتراضي لـ Docker. لكنها ليست الوحيدة حتى
‫الآن.
‫دعنا نتحدث عما يمكن أن يفعله إلى جانب ما فعلناه بالفعل.
‫يمكننا أن نرى أن لدي مستودعات هنا ، من الواضح. يمكنك أن تقول أن لدي بالفعل واحدة خاصة واحدة
‫على الأقل هنا. الخاصة ، تحصل
‫على واحدة مجانية ، والباقي عليك دفع ثمنها.
‫قمت بإعداد حساب الفواتير كالمعتاد وتدفع مقابل ذلك. عندما تقوم بإنشاء مستودعات ، وفي كل صورة من صورك
‫، سواء كانت عامة أو خاصة ، يمكنك اختيار منح أذونات للأشخاص.
‫هذا ما سيبدو عليه رأيي بالنسبة لمستودع أمتلكه.
‫هذا يحدث ليكون عام.
‫إذا ذهبت إلى الإعدادات ، يمكنك أن ترى أنه يمكنني التبديل بين جعلها خاصة
‫وعامّة.
‫يمكنني حذفه. يمكنني إنشاء خطافات الويب ، وتكون خطاطيف الويب مفيدة حقًا عندما
‫يتم إنشاء صورك ودفعها إلى Docker Hub.
‫يمكنك جعله يرسل webhook إلى خدمة أخرى ، مثل Jenkins أو Codeship ، أو Travis CI ، أو
‫شيء من هذا القبيل ، حتى تستمر الإنشاءات الآلية في الأسفل.
‫توجد خوادم الويب هذه لمساعدتك على أتمتة عملية الحصول على التعليمات البرمجية الخاصة بك على طول الطريق من شيء مثل Git
‫أو GitHub إلى Docker وعلى طول الطريق إلى خوادمك حيث تريد تشغيلها. المتعاونون هو منطقة الأذونات حيث
‫يمكنك تعيين أذونات لأشخاص آخرين للقيام بأشياء مع
‫صورتك.
‫ومن ثم لدينا أيضًا منظمات. لذلك ، لديك أذوناتك الخاصة لمستودعاتك الخاصة ومن ثم يمكنك
‫منح الآخرين أذونات لمستودعاتك. ولكن ، إذا كنت ترغب في إنشاء مؤسسات ، فيمكنك القيام
‫بذلك أيضًا.
‫إنها مجانية تمامًا.
‫على سبيل المثال ، أسفل هذه المؤسسة ، يمكنني رؤية جميع المستودعات الخاصة بهم. وبعد ذلك ، لأن لدي الأذونات لكل واحد
‫، يمكنني في الواقع الدخول وتغيير جميع إعداداتهم.
‫يمكنك أن ترى أنه يمكنني التحكم في عضوية الفريق.
‫يمكنني التحكم في الفواتير كما تفعل عادةً مع الصور الخاصة.
‫هذا يشبه إلى حد كبير GitHub ، إذا كنت قد استخدمت GitHub على الإطلاق ، أو إذا كنت قد دفعت مقابل أي شيء على GitHub.
‫إنه مشابه جدًا حيث يكون كل شيء مفتوح المصدر مجانيًا وبعد ذلك أي شيء تريد أن تكون خاصًا
‫عليك دفعه مقابل الخطط داخل المجموعة. وتعمل المنظمات بنفس طريقة GitHub.
‫ليس هناك الكثير من الأشياء الأخرى لذلك.
‫أريد فقط أن أوضح لك بعض الأشياء الأساسية التي تحتاج إلى معرفتها إذا كنت تريد البدء في استخدامها.
‫أحدهما ، إذا كنت تستخدم GitHub أو BitBucket لتخزين التعليمات البرمجية الخاصة بك ، فلا تنقر فوق هذا الزر
‫لإنشاء مستودعك.
‫أيضًا ، لا تقم بدفع Docker قبل إنشائه أولاً ، لأن ما تريد فعله حقًا هو
‫الصعود إلى هنا لإنشاء وإنشاء بناء آلي. يسمح التصميم الآلي لـ Docker Hub بإنشاء مسار CI هذا الذي
‫سيبني صورتك تلقائيًا بناءً على التزامات التعليمات البرمجية.
‫هذا مثل خطاف الويب العكسي.
‫إن خطاطيف الويب التي نظرنا إليها للتو منذ فترة مخصصة لـ Docker Hub لإعلام شيء آخر بأنه انتهى
‫بصورة.
‫لكن هذه العملية تسمح بإعلام Docker Hub عند حدوث شيء آخر.
‫أقوم دائمًا بإعداده لبناء مستودعاتي تلقائيًا.
‫في هذه الحالة ، على سبيل المثال ، اخترت للتو مستودعًا يمكنني الوصول إليه و GitHub.
‫وبعد ذلك ، أعطيها وصفًا موجزًا ويسمح لي بإنشاء مستودع.
‫ولكن ، في هذه الحالة ، تعلم أنها قادمة من GitHub.
‫في أي وقت يكون هناك التزام بناءً على متطلبات معينة ، أو فروع معينة ، فإنه في الواقع سيبني
‫صورتي بشكل سريع.
‫ثم أتلقى بريدًا إلكترونيًا صغيرًا لطيفًا يقول إنه ناجح أم لا.
‫لهذا السبب ترى في الكثير من الصور أنها تُبنى آليًا.
‫هذا مجرد مؤشر واحد على الجودة لأنه يوضح أن هذه الصورة من المحتمل أن تكون
‫محدثة دائمًا أينما كان كود المصدر. سترى هنا ، مثل خادم Jekyll الذي استخدمناه
‫سابقًا في هذه الدورة التدريبية ، أن لدي بعضًا من هذه الخيارات التلقائية هنا التي لم يكن لديّ في المستودع
‫السابق الذي لم يتم إعداده للأتمتة.
‫لذلك لدي هنا تفاصيل البناء ، وبناء الإعدادات. يمكنك أن ترى أنه في كل مرة يتم بناؤها يكون
‫ناجحًا في التاريخ. وبعد ذلك ، في إعدادات البناء ، يمكنني اختيار الفروع التي أرغب في إنشائها. الشيء الذي أوصي به بشدة
‫هو أنه ، هنا أسفل روابط المستودع ، إذا كنت تقوم
‫ببناء صور على Docker Hub ، وكنت تستخدم بيانًا من بعض الصور الأخرى ، فأنت
‫تريد إعداد روابط المستودع هنا ، حتى يتم إعادة بناء الصورة في أي وقت يغير فيه البرنامج
‫صورتك.
‫وهذه مشكلة كبيرة لأنه ، بمرور الوقت ، سيكون لصورتك تبعيات عليها ، وستحتاج إلى التحديث عندما يتم
‫تحديثها بأنفسهم ، ربما بناءً على متطلبات
‫الأمان أو إصلاحات الأخطاء الجديدة. وهكذا ، من وجهة نظري ، لأنها تعمل على تشغيل Ruby
‫و Jekyll داخل صورتي ، وهي من العبارة الموجودة في ملف Docker هي في الواقع
‫Jekyll ، أضعها هنا بحيث في أي وقت يتم إعادة بناء هذه الصور ، سيتم إعادة بنائها.
‫إذا كنت تريد أيضًا إنشاء مشغل بناء ... يُعد مشغل الإنشاء طريقة أخرى واردة بالنسبة لك لإنشاء
‫صورة تلقائيًا ، وربما يكون لديك بعض البرامج الأخرى التي ليست GitHub والتي تريد إطلاقها
‫عند حدوث شيء ما.
‫حتى تتمكن من إنشاء عناوين URL الفريدة لتلك المنشورات هناك.