دليل شامل: كيفية تثبيت Docker على Ubuntu 18.04 (إصدارا CE و EE)

دقائق القراءة: 7

دليل شامل: كيفية تثبيت Docker على Ubuntu 18.04 (إصدارا CE و EE)

في عام 2017، قدمت Docker إصدارين مختلفين من منصتها: Docker-CE و Docker-EE. ولكن هل تعرف الفروقات الجوهرية بينهما؟

شعار Docker CE يرمز لإصدار المجتمع مفتوح المصدر

فهم إصدارات Docker: CE و EE

Docker CE (Community Edition)

يُعد Docker CE (إصدار المجتمع) هو محرك Docker الكلاسيكي مفتوح المصدر (OSS). يشمل منصة Docker الكاملة وهو مثالي للمطورين وفرق العمليات التي تبدأ في بناء تطبيقات الحاويات. إذا كنت مطورًا متحمسًا، فمن المحتمل أنك تستخدم Docker منذ فترة، وعلى الأرجح أن هذا هو الإصدار الذي عملت به، ببساطة لأنه مجاني ومتاح للجميع.

شعار Docker EE يرمز لإصدار المؤسسات المدفوع

Docker EE (Enterprise Edition)

من ناحية أخرى، Docker EE هو نسخة متميزة من CE. يأتي مع جميع قدرات CE بالإضافة إلى العديد من ميزات مستوى المؤسسات. أي شيء يأتي مع ميزات متميزة ليس مجانيًا، أليس كذلك؟ تتراوح خططه من 750 دولارًا شهريًا للخطة الأساسية إلى 2000 دولار شهريًا للخطة المتقدمة. هذه الأسعار تتماشى مع ما تتوقعه من منتجات المؤسسات. يُرجى التواصل مع فريق المبيعات للحصول على أحدث الأسعار.

مقارنة بين Docker CE و EE

دعنا نلقي نظرة سريعة على مقارنة اهتمام المستخدمين بـ Docker EE و Docker CE بمرور الوقت:

رسم بياني يوضح اهتمام البحث بـ Docker EE مقابل Docker CE بمرور الوقت

والآن، مقارنة بين Docker EE و Docker CE و Docker بشكل عام:

رسم بياني يوضح اهتمام البحث بـ Docker EE مقابل Docker CE مقابل Docker بشكل عام

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

صورة توضيحية لبدء العمل

تحضير جهاز Ubuntu 18.04

كخطوة أولى، سنقوم بتهيئة البيئة عن طريق تشغيل بعض الأوامر الشائعة. سيتم تنفيذ جميع الأوامر على جهاز Ubuntu 18.04 حديث، وقد اخترت هذه المرة منصة Google Cloud Platform كبيئة توضيحية.

إنشاء الجهاز الافتراضي (VM)

لنبدأ بإنشاء جهاز افتراضي جديد باستخدام صورة Ubuntu 18.04:

gcloud compute instances create ubuntu-fcc-demo \
  --zone=us-central1-c \
  --machine-type=n1-standard-1 \
  --image=ubuntu-minimal-1804-bionic-v20200703a \
  --image-project=ubuntu-os-cloud \
  --boot-disk-size=10GB \
  --boot-disk-type=pd-standard

الآن اتصل بالجهاز الافتراضي باستخدام ssh:

gcloud compute ssh ubuntu-fcc-demo --zone=us-central1-c

إعداد التبعيات الأساسية

قم بتثبيت التبعيات المشتركة:

sudo apt-get update
sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common

تثبيت Docker CE على Ubuntu 18.04

التثبيت باستخدام السكريبت من get.docker.com

يتيح لك سكريبت التثبيت هذا تثبيت أحدث إصدارات Docker-CE بسرعة على توزيعات لينكس المدعومة. لا أوصي بالاعتماد على هذا السكريبت لنشر الأنظمة في بيئات الإنتاج.

من docker-install:

curl -sSL https://get.docker.com/ | sh

جمال هذا الأمر أنه سيتحقق من توزيعة لينكس الخاصة بك ويقوم بتشغيل التعليمات الصحيحة لتشغيل Docker CE لك. يمكنك اختبار أن كل شيء على ما يرام عن طريق تشغيل:

sudo docker run hello-world
# output
Hello from Docker!
This message shows that your installation appears to be working correctly.

صورة توضيحية لنجاح عملية التثبيت

التثبيت من مستودع Docker الرسمي (الطريقة الموصى بها)

تتضمن هذه الطريقة خطوات أكثر، ولكنها النهج الموصى به من وثائق Docker الرسمية (حتى أننا نتحقق من بصمة مفتاح GPG الخاص بهم).

أولاً، أضف مفتاح GPG الرسمي لـ Docker:

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

ثم تحقق من بصمة المفتاح:

sudo apt-key fingerprint 0EBFCD88

ابحث عن البصمة 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. هذا يضمن عدم التلاعب بالمفتاح.

بعد ذلك، قم بإعداد مستودع Docker stable:

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

يعيد الأمر $(lsb_release -cs) توزيعة أوبونتو. في حالتنا، استخدمنا bionic.

الآن قم بتثبيت محرك Docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

واختبر أن كل شيء على ما يرام عن طريق تشغيل:

sudo docker run hello-world
# output
Hello from Docker!
This message shows that your installation appears to be working correctly.

صورة توضيحية لرسالة نجاح تثبيت Docker

هذه التعليمات تستند إلى docs.docker.com.

تثبيت Docker EE على Ubuntu 18.04

للعمل مع Docker EE، تحتاج إلى نسخة تجريبية أو مدفوعة. قامت Docker بتعطيل خيار الحصول على اشتراك تجريبي من موقعها على الويب، والآن تحتاج إلى الاتصال بفريق المبيعات للحصول على حساب تجريبي. بالبحث، وجدت أنه منذ استحواذ Mirantis على Docker Enterprise، تغيرت طريقة الحصول على حساب تجريبي لـ Docker EE. تحتاج إلى الانتقال إلى موقع Mirantis، وبعد التقديم، يمكنك تنزيله على الفور. وقت كتابة هذا المقال، كان المثبت لا يزال برنامجًا تجريبيًا (beta). إذا كانت هناك طريقة مختلفة لتثبيت Docker EE، يرجى التواصل معي لتحسين هذا المقال!

استخدام Mirantis Launchpad CLI

أداة Mirantis Launchpad CLI (المعروفة باسم launchpad) هي الطريقة الجديدة والأفضل لتقييم وتجربة Docker Enterprise (يمكنك التحقق من مستودع launchpad GitHub).

تنزيل Launchpad CLI

ابدأ بتنزيل Launchpad. بالنسبة لـ Ubuntu 18.04، استخدمت إصدار launchpad-darwin-x64. إذا لم تقم بتنزيله من الجهاز الافتراضي، فإليك أمرًا لتحميله إليه:

gcloud compute scp launchpad-linux-x64 ubuntu-fcc-demo:~/launchpad \
  --zone=us-central1-c

بعد ذلك، تحقق من التثبيت:

# Give it writing permission
chmod +x launchpad
# Verify the installation
./launchpad version
# output
version: 0.12.0
commit: 4492884

ثم سجل المستخدم الخاص بك:

launchpad register

تُستخدم المعلومات المقدمة عبر التسجيل لتعيين تراخيص التقييم ولتقديم المساعدة في استخدام المنتج.

إعداد التكوين (cluster.yaml)

بعد ذلك، قم بإعداد ملف التكوين cluster.yaml الخاص بك. كانت هذه الخطوة هي التي استغرقت مني معظم الوقت. تحتاج إلى إعداد ثلاثة أجهزة:

  • جهاز الإدارة (Admin machine): وهو الجهاز الذي تقوم بتنفيذ أمر launchpad منه.
  • جهاز العامل (Worker machine): سيقوم بتشغيل أعباء العمل الخاصة بك.
  • جهاز المدير (Manager machine): يحتوي على لوحة تحكم الإدارة، حيث يمكنك الوصول إلى العديد من التكوينات والمقاييس.

لقد قاموا بعمل رائع مع ملف Go launchpad binary. تكمن الأجزاء الصعبة في إعداد البنية التحتية. لحسن الحظ، لديهم بالفعل بعض سكريبتات Terraform للمساعدة في ذلك. نظرًا لعدم وجود خيار لـ GCP وقت كتابة هذا المقال، كان علي إعداد البنية التحتية يدويًا. يتصل جهاز الإدارة بعقد العامل والمدير لإعداد العديد من الخطوات، لذا تأكد من إعداد مفاتيح ssh بشكل صحيح. استغرقت خطوة مفاتيح ssh بعض الوقت لأفهمها، حتى أنني فتحت مشكلة في مستودعهم، ولكنني سرعان ما حللتها. لذا إذا واجهت مشكلة مماثلة، تأكد من التحقق منها. توجد وثائق مفصلة حقًا حول كل سمة يمكنك استخدامها في ملف التكوين.

تشغيل Cluster

الآن حان الوقت لتهيئة مجموعتك (cluster). بمجرد إعداد ملف التكوين cluster.yaml، يمكنك تشغيل الأمر apply:

launchpad --debug apply

يجب أن ترى شيئًا كهذا:

Running phase: Install Docker EE Engine on the hosts

لقطة شاشة لعملية تثبيت Docker EE عبر Launchpad CLI

هنا يمكنني القول إنهم قاموا بعمل جيد حقًا في تجريد جميع خطوات الإعداد. هناك 37 خطوة ينفذها ملف Go launchpad binary.

لقطة شاشة لتقدم خطوات تثبيت Docker EE

في النهاية يجب أن ترى رسالة كهذه:

INFO[0021] ==> Running phase: UCP cluster info
INFO[0021] Cluster is now configured. You can access your cluster admin UI at: https://34.71.157.231 \
INFO[0021] You can also download the admin client bundle with the following command : launchpad download-bundle --username <username> --password <password>

الآن، لاختبار أن كل شيء على ما يرام، انتقل إلى واجهة المستخدم الخاصة بإدارة المجموعة (cluster admin UI):

واجهة تسجيل الدخول إلى لوحة تحكم Docker EE

بعد تسجيل الدخول، ستظهر لك واجهة المستخدم الخاصة بإدارة المجموعة:

لوحة تحكم Docker EE تعرض معلومات المجموعة

صورة توضيحية لنجاح عملية التثبيت

لقد جربت بعض ميزاته، وبشكل عام هي رائعة. توفر سهولة في استخدام ضوابط الوصول (Access Controls) وصور Docker المعتمدة. تستند هذه التعليمات إلى دليل البدء هذا.

الخلاصة التقنية

في هذا المقال، استعرضنا كيفية إعداد Docker على Ubuntu 18.04 لكل من إصداري CE و EE. وقد أظهرنا أن Docker CE يمثل الخيار الأمثل للمطورين الأفراد وفرق العمليات الصغيرة بفضل طبيعته مفتوحة المصدر وسهولة تثبيته عبر سكريبت بسيط أو المستودعات الرسمية. في المقابل، يبرز Docker EE كحل قوي للمؤسسات التي تتطلب ميزات متقدمة للأمان والإدارة والدعم. مع استحواذ Mirantis على Docker Enterprise، أصبح Launchpad CLI هو الطريقة الحديثة والمبسطة لتجربة تراخيص Docker Enterprise. بشكل عام، تُعد تجربة المطور/النشر جيدة جدًا، حيث يتم أتمتة جميع الخطوات تقريبًا لإعداد بيئة جاهزة لـ Docker EE. ويبدو أن Docker تسعى بشكل متزايد لأتمتة هذه العملية، مما يعد تطورًا إيجابيًا للغاية يسهل على المستخدمين تبني هذه التقنية القوية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *