برنامج Docker التعليمي للمبتدئين: الأساسيات، Archiالبنية والحاويات

ما هو عامل الميناء؟

عامل في حوض السفن عبارة عن منصة لتطوير البرمجيات للمحاكاة الافتراضية مع العديد من Operaأنظمة تينغ تعمل على نفس المضيف. فهو يساعد على فصل البنية التحتية والتطبيقات من أجل تقديم البرامج بسرعة. على عكس برامج Hypervisor، التي تُستخدم لإنشاء VM (الأجهزة الافتراضية)، يتم تنفيذ المحاكاة الافتراضية في Docker على مستوى النظام، والتي تسمى أيضًا حاويات Docker.

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

المحاكاة الافتراضية في Docker vs Hypervisor
المحاكاة الافتراضية في Docker vs Hypervisor

على عكس الأجهزة الافتراضية التي يمكنها الاتصال بأجهزة المضيف (على سبيل المثال: محول Ethernet لإنشاء المزيد من المحولات الافتراضية)، تعمل حاويات Docker في بيئة معزولة أعلى نظام التشغيل الخاص بالمضيف. حتى لو كان المضيف الخاص بك يعمل Windows نظام التشغيل، يمكنك تشغيل صور Linux في حاويات بمساعدة Hyper-V، والذي يقوم تلقائيًا بإنشاء جهاز افتراضي صغير لمحاكاة الصورة الأساسية للنظام، في هذه الحالة، لينكس.

لماذا استخدام دوكر؟

  • Docker هو برنامج كمبيوتر يستخدم للمحاكاة الافتراضية من أجل الحصول على عدة Operaأنظمة تينغ يعمل على نفس المضيف
  • Docker هو نوع تطبيق خادم العميل مما يعني أن لدينا عملاء يقومون بالترحيل إلى الخادم
  • صور Docker هي "الكود المصدري" لحاوياتنا؛ نستخدمها للبناء
  • يحتوي Dockerfile على نوعين من السجلات 1.) السجلات العامة و2) السجلات الخاصة
  • الحاويات هي الوحدات التنظيمية لحجم Docker. بعبارات بسيطة، الصورة هي قالب، والحاوية هي نسخة من هذا القالب. يمكن أن يكون لديك حاويات (نسخ) متعددة من نفس الصورة.

عامل في حوض السفن Architecture

الآن في هذا البرنامج التعليمي لحاوية Docker، لنتحدث عن مكونات Docker الرئيسية في Docker Archiالبنية:

عامل في حوض السفن Architecture
عامل في حوض السفن Architecture

عامل الميناء

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

صور عامل ميناء

صور Docker هي "الكود المصدري" لحاوياتنا؛ نستخدمها لبناء الحاويات. يمكن أن يكون لديهم برنامج مثبت مسبقًا مما يؤدي إلى تسريع عملية النشر. إنها محمولة، ويمكننا استخدام الصور الموجودة أو بناء الصور الخاصة بنا.

سجلات Docker

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

حاويات دوكر

الحاويات هي الوحدات التنظيمية وأحد مفاهيم أساسيات Docker. عندما نبني صورة ونبدأ في تشغيلها؛ نحن نجري في حاوية. يتم استخدام تشبيه الحاوية نظرًا لقابلية نقل البرنامج الذي نقوم بتشغيله في الحاوية الخاصة بنا. يمكننا نقله، بمعنى آخر، "شحن" البرنامج، أو تعديله، أو إدارته، أو إنشائه، أو التخلص منه، أو تدميره، تمامًا كما تفعل سفن الشحن مع الحاويات الحقيقية.

بعبارات بسيطة، الصورة هي قالب، والحاوية هي نسخة من هذا القالب. يمكن أن يكون لديك حاويات (نسخ) متعددة من نفس الصورة.

لدينا أدناه صورة تمثل بشكل مثالي التفاعل بين المكونات المختلفة وكيفية عمل تقنية حاوية Docker.

لدينا العديد من أوامر Docker مثل docker pull وdocker run.. وسنتحدث أكثر عن ذلك لاحقًا.

كيفية تثبيت Docker على نظام Linux/Ubuntu

فيما يلي عملية تثبيت Docker خطوة بخطوة على Linux/Ubuntu:

الخطوة الثانية:) لتثبيت Docker، نحتاج إلى استخدام حزم DEB الخاصة بفريق Docker.

لذلك، بعض المتطلبات الأساسية Ubuntu الحزم مطلوبة.

استخدم الأمر أدناه للتثبيت Ubuntu بكيج

$ sudo apt-get install \
apt-transport-https \
ca-certificates curl \
software-properties-common

*العلامة "\" ليست ضرورية فهي تستخدم للسطر الجديد، إذا أردت يمكنك كتابة الأمر دون استخدام "\" في سطر واحد فقط.

الخطوة 2) أضف مفتاح Docker GPG الرسمي ببصمة الإصبع.

استخدم أمر Docker أدناه لإدخال مفتاح GPG

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

الخطوة 3) بعد ذلك، قم بإضافة مستودع Docker APT.

استخدم أمر Docker أدناه لإضافة المستودع

$ sudo add-apt-repository \ 
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ 
$(lsb_release -cs) \
stable"

قد يُطلب منك تأكيد رغبتك في إضافة المستودع وإضافة مفتاح GPG تلقائيًا إلى مضيفك.

يجب أن يملأ الأمر lsb_release ملف Ubuntu نسخة توزيع المضيف الخاص بك.

الخطوة 4) بعد إضافة مفتاح GPG،

قم بتحديث مصادر APT باستخدام أمر Docker أدناه

$ sudo apt-get update

يمكننا الآن تثبيت حزمة Docker نفسها.

الخطوة 5) بمجرد تحديث مصادر APT،

ابدأ بتثبيت حزم Docker على Ubuntu باستخدام أمر Docker أدناه

$ sudo apt-get install docker-ce

يقوم الأمر المذكور أعلاه بتثبيت Docker والحزم الإضافية الأخرى المطلوبة. قبل Docker 1.8.0، كان اسم الحزمة هو lxc-docker، وبين Docker 1.8 و1.13، كان اسم الحزمة docker-engine.

نوت: عامل ميناء ل Windows يتطلب Windows 10 Pro أو Enterprise الإصدار 14393، أو Windows خادم 2016 RTM للتشغيل

كيفية استخدام Docker باستخدام أوامر Docker الأساسية

إليك كيفية استخدام Docker باستخدام أوامر Docker الأساسية:

الأمر الأساسي الذي يجب علينا تشغيله بعد تثبيت Docker هو $ docker info كما قلنا سابقًا.

$ sudo docker info

يجب أن تحصل على النتيجة المماثلة أو التالية

استخدم Docker باستخدام أوامر Docker الأساسية

كما نرى في مثال Docker أعلاه، لدينا معلومات حول عدد حاويات الإرساء العاملة أو المتوقفة مؤقتًا أو المتوقفة وعدد الصور التي قمنا بتنزيلها. لذلك دعونا نحصل على صورتنا الأولى في هذا البرنامج التعليمي لأوامر Docker.

$ sudo docker pull alpine

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

*alpine عبارة عن صورة Docker بسيطة تعتمد على Alpine Linux مع فهرس حزمة كامل وحجمه 5 ميغابايت فقط.

إذا أردنا تشغيل الصورة كحاوية، فسنستخدم الأمر التالي في دليل Docker التعليمي هذا.

$ sudo docker run -i -t alpine /bin/bash

إذا قمنا بتشغيل الأمر، فسيتم إرسالنا مباشرة إلى محطة جبال الألب. العلامة -i تبقي STDIN مفتوحًا من الحاوية، حتى عندما لا تكون متصلاً بها. يعد هذا الإدخال القياسي المستمر نصف ما تحتاجه للقشرة التفاعلية. العلامة -t هي النصف الآخر والتي تطلب من Docker تعيين رمز tty زائف للحاوية. وهذا يوفر لنا غلافًا تفاعليًا في الحاوية الجديدة. نخرج من الحاوية بأمر خروج بسيط.

الآن في هذا البرنامج التعليمي لأساسيات Docker، يمكننا تجربة تشغيل Ubuntu صورة.

$ sudo docker run -it ubuntu /bin/bash

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

$ sudo docker run –-name our_container -it ubuntu /bin/bash

ونخرج مرة أخرى.

يمكننا أيضًا تشغيل الحاوية التي أنشأناها مسبقًا، بدون غلاف تفاعلي.

$ sudo docker start container_name

وأوقف عامل الإرساء كتابة الحاوية Container_name

$ sudo docker stop container_name

إذا أردنا رؤية جميع الحاويات قيد التشغيل، فنحن نجريها فقط

$ docker ps

وبالنسبة لجميع الحاويات نضيف "- a" في نهاية هذا الأمر نفسه، مثل عامل الإرساء ps -a.

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

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

$ docker stats

يمكنك أيضًا معرفة الصور التي قمنا بتنزيلها محليًا والمعلومات المتعلقة بها.

$ sudo docker images

يعرض الأمر الموجود في مثال Docker أعلاه صورة عامل الإرساء مع علامة توضح إصدار الصورة لدينا، ومعرف الصورة المميز، ومتى تم الإنشاء وحجم الصورة.

ما هي الافتراضية؟

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

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

أوامر عامل ميناء هامة

فيما يلي أوامر Docker المهمة:

أمر الوصف
معلومات عامل الميناء أمر المعلومات
سحب عامل ميناء قم بتنزيل صورة
تشغيل عامل الميناء -i -t image_name /bin/bash تشغيل الصورة كحاوية
عامل ميناء يبدأ Our_container ابدأ الحاوية
عامل ميناء توقف حاوية_اسم أوقف الحاوية
عامل الميناء قائمة جميع الحاويات الجارية
احصائيات عامل الميناء معلومات الحاوية
صور عامل ميناء قائمة الصور التي تم تنزيلها
تنظيف عامل الميناء اقتل جميع الحاويات قيد التشغيل.

أيضا ، اقرأ أسئلة وأجوبة مقابلة وظيفة عامل ميناء للمهنيين الجدد وكذلك ذوي الخبرة.

ملخص

  • Docker عبارة عن منصة لتطوير برمجيات المحاكاة الافتراضية مع العديد من Operaأنظمة تينغ تعمل على نفس المضيف. فهو يساعد على فصل البنية التحتية والتطبيقات من أجل تقديم البرامج بسرعة.
  • عامل في حوض السفن Archiالبنية: محرك Docker، صور Docker، سجلات Docker، حاويات Docker.
  • محرك عامل الميناء: Docker هو نوع تطبيق خادم العميل مما يعني أن لدينا عملاء يقومون بالترحيل إلى الخادم. لذلك يسمى برنامج Docker الخفي: dockerd هو محرك Docker الذي يمثل الخادم.
  • صور عامل الميناء: صور Docker هي "الكود المصدري" لحاوياتنا؛ نستخدمها لبناء الحاويات. يمكن أن يكون لديهم برنامج مثبت مسبقًا مما يؤدي إلى تسريع عملية النشر. إنها محمولة، ويمكننا استخدام الصور الموجودة أو بناء الصور الخاصة بنا.
  • سجلات عامل الميناء: يقوم Docker بتخزين الصور التي نبنيها في السجلات. هناك سجلات عامة وخاصة. لدى شركة Docker سجل عام يسمى Docker hub، حيث يمكنك أيضًا تخزين الصور بشكل خاص. يحتوي Docker hub على ملايين الصور، والتي يمكنك البدء في استخدامها الآن.
  • حاويات عامل الميناء: الحاويات هي الوحدات التنظيمية وأحد مفاهيم أساسيات Docker. عندما نبني صورة ونبدأ في تشغيلها؛ نحن نجري في حاوية. يتم استخدام تشبيه الحاوية نظرًا لقابلية نقل البرنامج الذي نقوم بتشغيله في الحاوية الخاصة بنا.

تلخيص هذه التدوينة بـ: