تستخدم تقنيات حاويات التطبيقات على نطاق واسع في تطوير البرمجيات وتحليل البيانات. تساعد هذه التقنيات في جعل التطبيقات أكثر أمانًا ، وتسهيل نشرها ، وتحسين قابليتها للتطوير. يمكن اعتبار نمو وتطوير تقنيات نقل الحاويات أحد أهم الاتجاهات في عصرنا.
Docker هي عبارة عن منصة مصممة لتطوير ونشر وتشغيل التطبيقات في الحاويات. أصبحت كلمة "Docker" مؤخرًا عبارة عن مرادف لكلمة "Containerization". وإذا كنت لا تستخدم Docker بعد ، ولكن في نفس الوقت كنت تعمل أو ستعمل في مجالات تطوير التطبيقات أو تحليل البيانات ، فإن Docker هو ما ستقابله بالتأكيد في المستقبل.
→
الجزء 1: الأساسيات→
الجزء 2: المصطلحات والمفاهيم→
الجزء 3: ملفات Dockerfile→
الجزء 4: تقليل حجم الصور وتسريع تجميعها→
الجزء 5: الفرق→
الجزء 6: العمل مع البيانات
إذا كنت لا تعرف بعد ما هو Docker ، فلديك الآن فرصة لاتخاذ الخطوة الأولى نحو فهم هذه المنصة. وهي ، بعد أن أتقنت هذه المواد ، سوف تفهم أساسيات Docker وتحضير البيتزا في وقت واحد.
استعارات و عامل الميناء
نحن نواجه باستمرار الاستعارات. إذا نظرت إلى قاموس Ozhegov ، اتضح أن الاستعارة هي "مقارنة تصويرية خفية ، تشبه كائنًا ، ظاهرة بآخر". الاستعارات تساعدنا على فهم جوهر الظواهر الجديدة بالنسبة لنا. على سبيل المثال ، يمكن مقارنة الحاويات الافتراضية بالحاويات البلاستيكية العادية. إن مثل هذه المقارنة ، من خلال مقارنة خصائص الحاويات العادية المعروفة بالفعل لدينا بخصائص الحاويات الافتراضية ، ستساعد في التعرف عليها أولاً ثم فهم جوهرها.
حاويةكما فهمت ، سنبدأ المحادثة حول Docker بمفهوم "الحاوية".
حاوية
مثل حاوية بلاستيكية عادية ، حاوية Docker لها الخصائص التالية:
- يمكنك تخزين شيء فيه. يمكن أن يكون هناك شيء إما في الحاوية أو في الخارج.
- يمكن القيام به. يمكنك استخدام الحاوية Docker على الكمبيوتر المحلي الخاص بك ، على كمبيوتر أحد الزملاء ، على خادم مزود الخدمة السحابية (مثل AWS). وهذا يجعل حاويات Docker مماثلة للحاويات العادية ، حيث تنقل ، على سبيل المثال ، مختلف الحلي ذات القلب الحلو عند الانتقال إلى منزل جديد.
- من المريح وضع شيء ما في الحاوية ، كما أنه مناسب لإخراج شيء منه. الحاوية العادية لديها غطاء على المزالج ، والتي يجب إزالتها من أجل وضع شيء في الحاوية أو إزالة شيء منها. تحتوي حاويات الإرساء على شيء مشابه يمثل واجهاتها ، أي الآليات التي تسمح لها بالتفاعل مع العالم الخارجي. على سبيل المثال ، تحتوي الحاوية على منافذ يمكن فتحها بحيث يمكن الوصول إلى تطبيق يعمل في الحاوية من مستعرض. يمكنك أيضًا العمل مع الحاوية باستخدام أدوات سطر الأوامر.
- إذا كنت بحاجة إلى حاوية ، يمكنك طلبها في المتجر عبر الإنترنت. يمكن شراء حاوية فارغة ، على سبيل المثال ، على موقع أمازون. تأتي الحاويات إلى هذا المتجر من الشركات المصنعة التي تصنعها بكميات هائلة باستخدام القوالب. في حالة حاويات Docker ، يتم تخزين ما يمكن مقارنته بالقالب ، أي صورة الحاوية ، في مستودع خاص. إذا كنت بحاجة إلى حاوية معينة ، فيمكنك تنزيل الصورة المطابقة من المستودع واستخدامها لإنشاء هذه الحاوية.
بالطبع ، الحاويات البلاستيكية ، على عكس حاويات دوكر ، لن يرسل لك أحد مجانًا ، وعندما تستلمها ، ستكون فارغة. ولكن هناك دائما شيء مثير للاهتمام في حاويات دوكر.
الكائنات الحية
هناك طريقة أخرى للتفكير في حاويات Docker وهي مقارنتها بحالات الكائنات الحية. "المثيل" هو شيء موجود بشكل ما. هذه ليست مجرد رمز. هذا هو الكود الذي تسبب في وجود شيء أكبر من نفسه ، شيء ما ، مجازيًا ، يعيش. مثل الكائنات الحية الأخرى ، يتم إنشاء حالات الحاويات وتعيش وتموت.
استدعى الوحش إلى الحياةحاويات دوكر هي صور دوكر حيوية.
البرمجيات
يمكن مقارنة حاويات الرصيف ليس فقط بالحاويات العادية أو بالكائنات الحية. يمكن مقارنتها مع البرامج. بعد كل شيء ، الحاويات هي البرامج. وعلى المستوى الأساسي ، تعد الحاوية مجموعة من الإرشادات التي يتم تشغيلها على بعض المعالجات ، وتقوم بمعالجة نوع من البيانات.
الحاوية هي برنامجفي وقت التشغيل ، عادة ما تدير حاوية الإرساء نوعًا من البرنامج بداخلها. إنها تقوم ببعض الإجراءات في الحاوية ، أي تفعل شيئًا مفيدًا.
على سبيل المثال ، قد يكون الرمز الذي يتم تشغيله في حاوية Docker قد أرسل النص الذي تقرأه إلى جهاز الكمبيوتر الخاص بك. من الممكن تمامًا أن تقبل الشفرة التي يتم تشغيلها في حاوية Docker الأوامر الصوتية التي تقدمها إلى Amazon Alexa وتحولها إلى إرشادات لبعض البرامج الأخرى التي تعمل في حاويات أخرى.
باستخدام Docker ، يمكنك تشغيل حاويات متعددة على نفس الكمبيوتر في نفس الوقت. ومثل أي برنامج آخر ، يمكن بدء حاويات Docker أو إيقافها أو حذفها. يمكنك فحص محتوياتها وإنشائها.
مفاهيم عامل الميناء
irtual آلات افتراضية
أسلاف حاويات دوكر كانت أجهزة افتراضية. يقوم الجهاز الظاهري ، مثل الحاوية ، بعزل التطبيق وتوابعه عن البيئة الخارجية. ومع ذلك ، توفر حاويات Docker مزايا على الأجهزة الافتراضية. لذلك ، يستهلكون موارد أقل ، ويسهل نقلهم ، ويبدأون بشكل أسرع ويصلون إلى حالة صحية. في
هذه المقالة ، يمكنك العثور على مقارنة مفصلة للحاويات والأجهزة الظاهرية.
container صورة حاوية الحوض
لقد تحدثنا بالفعل عن "الصور" أعلاه. ما هذا سؤال جيد ما يسميه Docker مصطلح "صورة" أو "صورة" باللغة الإنجليزية لا يتماثل إطلاقًا مع التصوير الفوتوغرافي (على سبيل المثال ، التصوير (هذا أحد معاني كلمة "صورة").
صور عامل الميناء ليست صوريمكن مقارنة صور حاويات Docker بالرسومات أو قواطع ملفات تعريف الارتباط أو قوالب لتصنيع المنتجات البلاستيكية. الصور هي قوالب غير قابلة للتغيير يتم استخدامها لإنشاء نفس الحاويات.
حاويات قفص الاتهام تشبه قطع الكعكةتحتوي صورة الحاوية Docker على صورة نظام التشغيل الأساسي ورمز التطبيق والمكتبة التي يعتمد عليها. يتم ترتيب كل هذا ككيان واحد ، بناءً عليه يمكنك إنشاء حاوية.
ock Dockerfile
يحتوي
Dockerfile على مجموعة من الإرشادات ، وبعد ذلك سيقوم Docker بتجميع صورة الحاوية. يحتوي هذا الملف على وصف للصورة الأساسية ، والتي ستكون طبقة الصورة الأصلية. بين الصور الأساسية الشعبية الرسمية ،
الثعبان ،
أوبونتو ، يمكن ملاحظة
جبال الألب .
يمكنك إضافة طبقات إضافية إلى صورة الحاوية ، أعلى الصورة الأساسية. يتم ذلك وفقًا لتعليمات
Dockerfile
. على سبيل المثال ، إذا وصف
Dockerfile
صورة تخطط لاستخدامها في حل مهام التعلم الآلي ، فقد تحتوي على إرشادات لإدراج مكتبات NumPy و Pandas و Scikit في طبقة متوسطة من هذه الصورة.
وأخيرًا ، قد تحتوي الصورة ، فوق كل الطبقات الأخرى ، على طبقة رقيقة أخرى ، البيانات المخزنة التي يمكن تغييرها. هذه طبقة صغيرة الحجم تحتوي على البرنامج الذي تخطط لتشغيله في الحاوية.
▍ حاوية عامل الميناء
لبدء الحاوية ، نحتاج أولاً إلى صورة الحاوية ، وثانياً ، البيئة التي تم تثبيت Docker فيها ، قادرة على فهم أمر
docker run image_name
نموذج
docker run image_name
. يقوم هذا الأمر بإنشاء حاوية من الصورة وتشغيلها.
▍ مستودع الحاويات
إذا كنت ترغب في تمكين الآخرين من إنشاء حاويات بناءً على صورتك ، يمكنك إرسال هذه الصورة إلى السحابة. أكبر مستودع من هذا النوع هو مستودع
Docker Hub . يتم استخدامه عند العمل مع Docker بشكل افتراضي.
لقد ناقشنا بالفعل الكثير من الأشياء. لقد حان الوقت لوضعها معًا ومقارنة العمل مع حاويات Docker بالبيتزا.
الطبخ مع عامل الميناء
البيتزا الجاهزة هي حاوية- وصفة البيتزا هي
Dockerfile
. يخبرنا بما يجب القيام به من أجل تحقيق الهدف ، وهو الحصول على حاوية عمل. - المكونات التي تشكل البيتزا هي طبقات من صورة الحاوية. لبيتزا لدينا سوف تحتاج الكعكة ، صلصة والجبن.
إذا وضعت الوصفة والمكونات على الطاولة ، اتضح أنه في مكان واحد يتم جمع كل ما تحتاجه من أجل طهي البيتزا. كل هذا يمكن مقارنته مع صورة الحاوية Docker.
من الوصفة (
Dockerfile
) ، يمكنك معرفة تسلسل الإجراءات التي تحتاج إلى تنفيذها من أجل طهي البيتزا:
- Korzh جاهز للاستخدام ، نحن لا نغيره. يمكن مقارنتها بالصورة الأساسية لنظام التشغيل Ubuntu. هذه هي الطبقة السفلية للصورة ، وتضاف إلى الصورة أولاً.
- ثم يضاف الجبن إلى الكعكة. هذا مثل إضافة طبقة ثانية إلى الصورة كمكتبة خارجية مثل NumPy.
- ثم ، إضافة الجبن ، تضاف الصلصة. هذا هو رمز التطبيق الذي يجب تشغيله في الحاوية.
الآن حان الوقت لطهي البيتزا في الفرن.
الفرن هو منصة الإرساءيشبه الفرن الذي يتم طهي البيتزا فيه منصة دوكر. يتم تثبيت الفرن في المطبخ ، بمساعدته يمكنك طهي الطعام. بالطريقة نفسها ، يتم تثبيت Docker على جهاز كمبيوتر من أجل "طهي" الحاويات.
يتم تشغيل الفرن ، إذا كان كهربائيًا ، عن طريق تشغيل مقبض وحدة التحكم في درجة الحرارة.
docker run image_name
ما يشبه وحدة التحكم في درجة الحرارة ، حيث يؤدي "التناوب" إلى قيام النظام بإنشاء حاوية
docker run image_name
.
البيتزا الجاهزة - هذه هي حاوية دوكر.
وتناول البيتزا يعني استخدام التطبيق الذي يعمل في الحاوية.
مثل صنع البيتزا ، يستغرق التحضير لعمل حاويات Docker بعض الوقت ، لكن في النهاية ، وفي كلتا الحالتين ، يتضح أنه شيء لذيذ.
ملخص
هنا ، على المستوى المفاهيمي ، غطينا أساسيات Docker. نأمل أن تكون المقارنات المقدمة هنا قد ساعدت في فهم ماهية Docker وما تشعر به من قيمة الاستعارات في إتقان التقنيات الجديدة.
أعزائي القراء! هذه المشاركة هي ترجمة للمقال الأول في سلسلة دروس Docker. وفقًا للمؤلف ، تم التخطيط لإطلاق 5 مواد من هذا القبيل. الأجزاء
الثانية والثالثة والرابعة جاهزة بالفعل. أخبرنا ، هل يستحق ترجمة المقالات التالية في هذه السلسلة؟
