تم شرح أساسيات Master Docker مع هذه المفاهيم المهمة بكلمات بسيطة.

يعد إتقان Docker مهارة مطلوبة لمهندسي البرمجيات الخلفية. سيساعدك Docker على إنشاء التطبيقات وتعبئتها وتوزيعها.

يمكن تشغيل التطبيقات التي تم إرساءها في بيئات مختلفة. وهذا يقلل من وقت توقف التطبيق مما يمنح الشركات ميزة تنافسية. لكن يمكن أن يكون Docker مخيفًا عندما تبدأ في تعلمه. فيما يلي موضوعات حيوية لتعلم كيفية إتقان Docker.

ما هو دوكر؟

Docker هو برنامج يستخدم لحزم التطبيقات في وحدات قابلة للتنفيذ تسمى الحاويات. يوفر Docker الدعم لبناء التطبيقات واختبارها ونشرها بسرعة.

عند استخدام Docker، فإنك تتفاعل مع Docker Engine. يمكنك تثبيت Docker Engine على أي نظام تشغيل، بما في ذلك ويندوز 10 و 11, ماك، أو أنظمة أوبونتو/لينكس. هناك العديد من الأدوات والمفاهيم التي تحتاج إلى تعلم كيفية استخدام Docker بشكل فعال. فيما يلي أهمها لتبدأ.

1. صورة عامل الميناء

صورة Docker عبارة عن مخطط خفيف الوزن يُستخدم لإنشاء الحاويات. إنه قالب من التعليمات التي تحدد نظام التشغيل ورمز التطبيق والتبعيات. يمكنك تحديد تعليمات حول كيفية إنشاء الصورة على ملف Dockerfile.

instagram viewer

في الملف، تشير إلى كل ما يحتاجه تطبيقك. يقوم Docker بعد ذلك بإنشاء الصورة تلقائيًا بناءً على الإرشادات المقدمة. يمكنك العثور على صور متنوعة في سجل Docker عبر الإنترنت، Docker Hub. توصي Docker باستخدام الصور الرسمية لأغراض أمنية.

يمكنك أيضًا إنشاء صور بناءً على التكوينات المخصصة. تأتي الصور بأحجام وأنظمة تشغيل ولغات مختلفة. يمكنك اختيار الخيار الذي يناسب طلبك. على سبيل المثال، يمكنك أن تتعلم كيفية إنشاء صورة Docker لواجهة برمجة تطبيقات الويب .NET.

2. حاوية عامل الميناء

الحاويات هي وحدات تستخدم لحزم التطبيق في وحدة قابلة للتنفيذ. تتضمن الحاويات كل ما يلزم لتشغيل التطبيق، بما في ذلك المكتبات والتعليمات البرمجية والتبعيات ووقت التشغيل.

تقوم الحاويات بعزل التطبيقات إلى وحدات تسمح لها بالعمل بشكل متسق عبر بيئات مختلفة. تسمح لك الحاويات بإدارة التطبيقات في بيئات التطوير والإنتاج دون مواجهة أخطاء. هناك العديد من حالات الاستخدام للحاويات التي يمكنك استكشافها.

تحتوي حاويات Docker على تفاصيل مثل معرف الحاوية والصورة ونظام التشغيل الأساسي. يمكنك أيضًا رؤية وقت التشغيل وحالته واسم الحاوية. لسرد جميع الحاويات في نظامك، استخدم الأمر التالي:

docker container ls

سترى تفاصيل جميع الحاويات قيد التشغيل:

تستطيع ايضا استخذام عامل ميناء ملاحظة لعرض كافة الحاويات قيد التشغيل. و فحص حاوية عامل الإرساء [معرف الحاوية] لعرض محتويات الحاوية.

4. ملف الإرساء

ملف Dockerfile هو مستند يحدد تعليمات حول كيفية إنشاء صورة Docker. يحدد الملف الصورة الأساسية ورمز التطبيق والملفات اللازمة لإنشاء الصورة.

يتضمن الملف أيضًا متغيرات البيئة وأوامر إنشاء الصور. يمكنك إنشاء ملف Dockerfile مثل أي ملف آخر. يجب عليك تحديد التعليمات الموجودة على الملف باستخدام بناء جملة يفهمه Docker. فيما يلي مثال لنموذج Dockerfile:

5. عامل الميناء يؤلف

Docker Compose هي أداة لتحديد وتشغيل تطبيقات Docker متعددة الحاويات. يمكنك تكوين كافة الخدمات في ملف YAML. ملف YAML هو مستند تحدد فيه الخدمات المطلوبة لتطبيقك. يمكنك بعد ذلك إنشاء كافة الخدمات وتشغيلها باستخدام أمر واحد.

يمكن لـ Docker Compose تشغيل التطبيقات في بيئات مختلفة. يمكن أن تكون هذه بيئات الإنتاج أو التدريج أو التطوير أو الاختبار. يعمل Docker Compose على تبسيط العملية المعقدة لتنسيق حاويات متعددة.

يمكنك استخدام Docker Compose لإدارة تطبيق ما طوال دورة حياته. يمكن أن يشمل ذلك بدء الخدمات وإيقافها وإعادة بنائها. يمكنك أيضًا عرض حالة الخدمات قيد التشغيل، وإخراج سجل التدفق، وتشغيل الأوامر على الخدمة.

باستخدام Docker Compose، يمكنك تكوين الشبكات وإدارة وحدات التخزين وتحديد التبعيات. يمكنك أيضًا توسيع نطاق التطبيقات أفقيًا في الإنتاج عن طريق تحديد خدمات النسخ المتماثلة.

يعمل Compose على تبسيط عملية نشر التطبيقات المعقدة في بيئات مختلفة. يمكنك أيضًا استخدامه لتكرار نفس البيئة في أنظمة مختلفة. تعلم كيفية استخدام Docker Compose يمكن أن تزيد من كفاءة التطبيق الخاص بك.

فيما يلي مثال لملف Docker Compose YAML:

6. مركز عامل الميناء

مركز عامل الميناء هو سجل حاوية عبر الإنترنت لـ Docker. كونه أكبر سجل للحاويات، فهو أداة تعاون للمطورين والمساهمين مفتوحي المصدر. إنه أيضًا سوق ممتاز لبائعي البرامج.

يعد Docker Hub موردًا موثوقًا به للعثور على برامج المحاكاة الافتراضية الموثوقة. يمكنك إنشاء مستودع ومشاركة أكثر من 100000 صورة.

أنت تستطيع استضافة التطبيقات الخاصة بك والكود على المنصة. يمكنك أيضًا التعاون في المشاريع مع مطورين آخرين. لدى Docker Hub خيار عام مجاني أو اتفاقيات إعادة شراء خاصة مدفوعة لفرق معتمدة محددة.

7. شبكة دوكر

تعتبر شبكة Docker ميزة تسمح للحاويات بالتواصل مع بعضها البعض ومع الموارد الخارجية. توفر الشبكات اتصالاً متحكمًا ومعزولًا بين الحاويات. يمكن أن تكون هذه حاويات تعمل على مضيف واحد أو عدة مضيفين.

عند تشغيل حاوية على جهازك، فإنها لا تتعرض للشبكات الخارجية. يمكنك استخدام المنافذ لكشف الحاويات لعناوين IP الخارجية وخدمات DNS وجداول التوجيه وبوابات الإنترنت.

تسمح الشبكات للحاويات بالعمل في بيئات شبكية معزولة. توفر الشبكات مساحات الأسماء وعناوين IP، مما يقلل من تعارض الحاويات ويعزز الأمان.

8. مجلدات عامل الميناء

في Docker، تعد وحدات التخزين آلية تُستخدم لتخزين البيانات المستمرة. حسب التصميم، تكون الحاويات سريعة الزوال. بمعنى أنه من السهل استبدالها أو إتلافها بكل بياناتها. ولكن هناك حالات قد ترغب في الاحتفاظ بالبيانات فيها. في مثل هذه الحالات، يمكنك استخدام وحدات تخزين Docker لإدارة البيانات المستمرة.

وحدات التخزين لها أيضًا استخدامات أخرى، بما في ذلك السماح بمشاركة البيانات بين الحاويات. من السهل إجراء نسخ احتياطي وترحيل مقارنة بأشكال التخزين الأخرى. بالإضافة إلى ذلك، يمكنك إدارة وحدات التخزين باستخدام Docker CLI أو API.

إذا قمت بتشغيل حاوية بدون وحدة تخزين، فسيقوم Docker تلقائيًا بإنشاء وحدة تخزين. يمكنك أيضًا إنشاء وحدات تخزين معزولة عن أي حاويات وإدارتها. استخدم الأمر التالي لإنشاء وحدة تخزين.

docker volume create my-vol

لرؤية وحدة التخزين التي قمت بإنشائها، قم بتشغيل الأمر التالي:

docker volume ls //local my-vol

يمكنك بعد ذلك إرفاق وحدات التخزين بأي حاوية ترغب فيها. يمكنك قراءة المزيد عن المجلدات على عامل ميناء الوثائق الرسمية.

ميزات عامل ميناء أخرى

يعد Docker أحد أفضل الخيارات لإدارة الحاويات والتحكم في الإصدار. إذا تعلمت مجموعة أدوات Docker، فيمكنك تعزيز وتبسيط سير عمل التطوير لديك.

يحتوي Docker على العديد من الميزات التي يمكنك استخدامها لإدارة تطبيقاتك. بعد إتقان الميزات الأساسية، يمكنك استكشاف ميزات معقدة أخرى مثل Docker Swarm الذي يُستخدم لتنسيق التطبيقات المعقدة.