تثبيت واستخدام بورتينر لإدارة حاويات دوكر

Docker container management with Portainer Ubuntu Redhat Centos Debian

لقد أحدث Docker ثورة في الطريقة التي نقوم بها في بناء التطبيقات وتعبئتها ونشرها. إنه يوفر منصة قوية للحوسبة الحاوية، مما يتيح للمطورين ومدراء النظام إدارة التطبيقات ونشرها بكفاءة في حاويات معزولة. بينما يوفر Docker نفسه واجهة سطر أوامر لإدارة الحاويات، يمكن أن يبسط Portainer العملية، خاصة بالنسبة لأولئك الذين يفضلون واجهة المستخدم الرسومية (GUI).

Portainer عبارة عن أداة مفتوحة المصدر لإدارة الحاويات توفر واجهة ويب سهلة الاستخدام لـ Docker. في هذا الدليل الشامل، سنقودك خطوة بخطوة من خلال عملية تثبيت Portainer واستخدامها لإدارة حاويات Docker بفعالية.

مقدمة عن Portainer

ما هو Portainer؟

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

لقطة الشاشة لواجهة المستخدم Portainer

لماذا استخدام Portainer؟

  • واجهة المستخدم السهلة: تعتبر واجهة Portainer القائمة على الويب سهلة الاستخدام وبديهية، مما يجعلها في متناول المستخدمين الجدد لـ Docker.
  • التصور البصري: إنها توفر تمثيلًا بصريًا لبنيتك التحتية لـ Docker، مما يجعل إدارتها وفهمها أسهل.
  • الدعم متعدد المنصات: يكون Portainer متوافقًا مع بيئات Docker المختلفة بما في ذلك Docker Swarm و Kubernetes.
  • التحكم في الوصول القائم على الأدوار (RBAC): يتيح لك Portainer تعريف أدوار المستخدمين وأذوناتهم، مما يعزز الأمان والتحكم في الوصول.
  • مراقبة الموارد: يمكنك مراقبة استخدام المعالج والذاكرة والشبكة للحاويات والخدمات.
  • القوالب: يوفر Portainer مكتبة من قوالب التطبيقات المهيأة مسبقًا، مما يبسط إنشاء الحاويات.

المتطلبات المسبقة

قبل الغوص في تثبيت Portainer واستخدامه، تأكد من توفر المتطلبات المسبقة التالية:

تثبيت Docker

يعتمد Portainer على Docker، لذلك تحتاج إلى تثبيت Docker على نظامك. يمكنك تثبيت Docker من خلال اتباع التوثيق الرسمي لنظام التشغيل الخاص بك. راجع دليل تثبيت Docker للحصول على تعليمات مفصلة.

المنصات المدعومة

يمكن تشغيل Portainer على منصات مختلفة بما في ذلك Windows و Linux و macOS وغيرها. تأكد من أن نظامك هو أحد المنصات المدعومة لـ Portainer.

تثبيت Portainer

هناك عدة طرق لتثبيت Portainer، لكننا سنغطي أكثر الطرق شيوعًا: باستخدام أمر Docker run وباستخدام Docker Compose.

أمر Docker Run

لتثبيت Portainer باستخدام أمر Docker run، قم بتنفيذ ما يلي:

$ docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

فيما يلي ما يفعله هذا الأمر:

  • -d: يشغل الحاوية في الوضع المنفصل.
  • -p 9000:9000: يخرّج المنفذ 9000 على المضيف إلى المنفذ 9000 في الحاوية.
  • --name portainer: يسمي الحاوية “portainer”.
  • --restart always: يضبط إعادة تشغيل الحاوية تلقائيًا.
  • -v /var/run/docker.sock:/var/run/docker.sock: يمنح Portainer إمكانية الوصول إلى مقبس Docker.
  • -v portainer_data:/data: يخزن بيانات Portainer في مجلد باسم “portainer_data”.
  • portainer/portainer-ce: يحدد صورة Portainer Community Edition.

باستخدام Docker Compose

طريقة أخرى لتثبيت Portainer هي باستخدام Docker Compose. أنشئ ملف docker-compose.yml بالمحتوى التالي:

version: '3'
services:
  portainer:
    image: portainer/portainer-ce
    ports:
      - 9000:9000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    restart: always
volumes:
  portainer_data:

قم بتشغيل الأمر التالي لتشغيل Portainer باستخدام Docker Compose:

$ docker-compose up -d

التثبيتات المخصصة

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

1. تثبيت Portainer مع Kubernetes

المتطلبات الأساسية:

  • عنقود Kubernetes قيد التشغيل.
  • أداة سطر الأوامر kubectl مهيأة للوصول إلى عنقودك.

الخطوات:

1 – أنشئ نطاقًا لـ Portainer في عنقود Kubernetes الخاص بك:

$ kubectl create namespace portainer

2 – قم بنشر Portainer باستخدام المخطط الرسمي لـ Helm:

$ helm repo add portainer https://portainer.github.io/k8s/
$ helm repo update
$ helm install portainer portainer/portainer -n portainer

3 – الوصول إلى Portainer عن طريق تحويل المنفذ إلى منفذ محلي (مثل 9000):

$ kubectl port-forward -n portainer svc/portainer 9000:9000

بعد ذلك يمكنك الوصول إلى Portainer على http://localhost:9000 في متصفح الويب الخاص بك.

2. تثبيت Portainer كـ Swarm stack

المتطلبات الأساسية:

  • عنقود Docker Swarm مهيأ.
  • Docker Compose مثبت على عقدة المدير الخاصة بك في Swarm.

الخطوات:

1 – أنشئ ملف docker-compose.yml لـ Portainer:

version: '3.4'
services:
  agent:
    image: portainer/agent
    environment:
      AGENT_CLUSTER_ADDR: tasks.agent
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints:
          - node.platform.os == linux
  portainer:
    image: portainer/portainer-ce
    ports:
      - 9000:9000  
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    networks:
      - agent_network
    deploy:
      placement:
        constraints:
          - node.role == manager
networks:
  agent_network:
    driver: overlay
    attachable: true
volumes:
  portainer_data:

2 – قم بنشر Portainer كـ stack في عنقود Swarm الخاص بك:

$ docker stack deploy -c docker-compose.yml portainer

3 – الوصول إلى Portainer عن طريق التنقل إلى http://your_swarm_manager_ip:9000 في متصفح الويب الخاص بك.

3. تخصيص إعدادات Portainer

يتيح لك Portainer تخصيص إعداداته باستخدام متغيرات بيئية وملفات تكوين. يمكنك تحديد خيارات مثل شهادات SSL مخصصة وطرق المصادقة وغيرها من خلال الرجوع إلى التوثيق الرسمي.

من خلال اتباع هذه الطرق المخصصة للتثبيت، يمكنك تخصيص Portainer لمتطلباتك المحددة ودمجها بسلاسة في بيئات Docker أو Kubernetes الخاصة بك.

الوصول إلى واجهة Portainer الويب

بمجرد تشغيل Portainer، يمكنك الوصول إلى واجهة الويب الخاصة به عن طريق التنقل إلى http://localhost:9000 في متصفح الويب الخاص بك. إذا قمت بتثبيت Portainer على خادم بعيد، قم باستبدال localhost بعنوان IP أو اسم المضيف للخادم.

سترحب بك شاشة إعداد أولية لإنشاء حساب المسؤول الخاص بك

Configuration Portainer

تكوين Portainer

إنشاء حساب المسؤول

  1. اضغط على زر “إنشاء حساب مسؤول”.
  2. أدخل اسم المستخدم وكلمة المرور والبريد الإلكتروني.
  3. اضغط على “إنشاء مستخدم”.

الاتصال بمضيف Docker

يتيح لك Portainer إدارة مضيفات Docker متعددة. للاتصال بمضيف Docker المحلي الخاص بك:

  1. اختر “محلي” كاسم نقطة النهاية.
  2. حدد “Docker” كبيئة.
  3. اضغط على “الاتصال”.

تكوين تخزين البيانات

يمكنك تكوين الموقع الذي يخزن فيه Portainer بياناته. بشكل افتراضي، يستخدم مجلدًا مسمى (مثل portainer_data) لاستمرارية البيانات. يمكنك تخصيص ذلك في ملف Docker Compose إذا لزم الأمر.

إعداد الوصول والأذونات للمستخدمين

يدعم Portainer التحكم في الوصول القائم على الأدوار (RBAC) لإدارة أذونات المستخدمين.

لإنشاء دور مستخدم جديد:

  1. انتقل إلى “الإعدادات”
  2. حدد “المستخدمون والفرق”
  3. اضغط على “إضافة دور”
  4. قم بتكوين اسم الدور والأذونات، إلخ
  5. اضغط على “إنشاء”

بعد ذلك يمكنك تعيين أدوار مقيدة للمستخدمين بدون وصول إداري كامل.

إدارة حاويات Docker باستخدام Portainer

الآن بعد إعداد Portainer، دعنا نستكشف بعض ميزاته الرئيسية لإدارة حاويات Docker.

نشر الحاويات من القوالب

توفر Portainer مكتبة قوالب تبسط نشر التطبيقات الشائعة.

على سبيل المثال، لنشر موقع WordPress:

  1. انتقل إلى قسم “قوالب التطبيقات”
  2. حدد قالب WordPress
  3. قم بتعبئة تفاصيل الحاوية
  4. اضغط على “نشر الحاوية”

سيقوم هذا تلقائيًا بسحب الصور المطلوبة ونشر WordPress باستخدام الإعدادات المثلى.

مراقبة الحاويات

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

مراقبة حاويات Portainer

وهذا يساعد على تحديد اختناقات الموارد عند استكشاف الأخطاء وإصلاحها.

إدارة إعدادات الحاويات

يتيح لك Portainer تعديل إعدادات الحاويات مثل متغيرات البيئة والمنافذ والمجلدات، إلخ بعد النشر.

لتعديل حاوية قيد التشغيل:

  1. انتقل إلى قسم “الحاويات”
  2. حدد حاوية
  3. اضغط على “تعديل” لتغيير الإعدادات
  4. اضغط على “تحديث” لحفظ التغييرات

تنفيذ الحاويات

يمكنك أيضًا تنفيذ الأوامر مباشرة داخل الحاوية من واجهة المستخدم Portainer:

  1. انتقل إلى “الحاويات”
  2. حدد حاوية
  3. اضغط على “Console”
  4. نفذ الأوامر في نافذة الوحة التحكم

وهذا يتيح تصحيح الأخطاء في الحاويات بدون استخدام docker exec.

النسخ الاحتياطي للحاويات

يتيح Portainer التقاط لقطات لمجلدات وأنظمة ملفات الحاويات. وهذا يسمح باستعادة البيانات أو نقلها عند الحاجة.

لإنشاء نسخة احتياطية:

  1. انتقل إلى “الحاويات”
  2. حدد حاوية
  3. اضغط على “النسخ الاحتياطية”
  4. اضغط على “نسخ احتياطي” وأعط النسخة الاحتياطية اسمًا

سيتم حفظ النسخة الاحتياطية على نظام ملفات المضيف.

دعم Swarm و Kubernetes

يوسع Portainer إمكانياته إلى ما هو أبعد من مضيفات Docker المنفردة. إنه يدعم Docker Swarm و Kubernetes، مما يتيح لك إدارة العناقيد وتنسيق الحاويات على نطاق واسع.

نشر المجموعات في Swarm

يمكنك استخدام Portainer لنشر تطبيقات متعددة الخدمات في Swarm باستخدام ملفات المجموعة:

  1. انتقل إلى “المجموعات” في بيئات Swarm
  2. اضغط على “إضافة مجموعة”
  3. قم بتكوين تفاصيل المجموعة وملف التكوين
  4. اضغط على “نشر المجموعة”

سيقوم هذا بنشر التطبيق عبر عُقَد متعددة.

إدارة Kubernetes

مع دعم Kubernetes من Portainer، يمكنك تبسيط إدارة عناصر Kubernetes:

  • عرض صحة العنقود والعُقَد والنشرات والحاويات ، إلخ
  • نشر وتحجيم أحمال العمل Kubernetes
  • تحرير تكوينات ومواصفات الحاويات
  • إدارة النطاقات والحصص والأسرار

كل هذا بدون الحاجة إلى خبرة معمقة في Kubernetes!

النسخ الاحتياطي والاستعادة

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

لإنشاء نسخة احتياطية:

  1. انتقل إلى “الإعدادات”
  2. اضغط على “النسخ الاحتياطي”
  3. حدد خيارات النسخ الاحتياطي
  4. اضغط على “تنزيل النسخة الاحتياطية”

قم بتخزين ملف النسخة الاحتياطية هذا بأمان. يمكنك استعادته عن طريق تحميل أرشيف النسخة الاحتياطية في القسم نفسه.

أفضل ممارسات الأمان

ضمان أمن تثبيت Portainer وحاويات Docker الخاصة بك أمر أساسي. فيما يلي بعض أفضل الممارسات:

تأمين خادم Portainer

  • استخدم HTTPS مع شهادة SSL صالحة
  • قيّد الوصول إلى واجهة المستخدم لعناوين IP/شبكات موثوقة
  • عزز إعدادات أمان نظام التشغيل المضيف
  • اتبع مبادئ الحد الأدنى من الامتيازات لأدوار المستخدمين
  • فعّل المصادقة باستخدام OAuth/LDAP

تأمين حاويات Docker

  • قم بمسح الصور بانتظام للتحقق من الثغرات الأمنية
  • تجنب استخدام الوسوم latest. ثبت الإصدارات بدلاً من ذلك.
  • حدد امتيازات الحاويات عبر مجلدات للقراءة فقط وAppArmor ، إلخ
  • حدد حدود وضمانات CPU/الذاكرة
  • استخدم قواعد الجدار الناري لتقييد الوصول إلى الشبكة
  • راقب السجلات والمقاييس للكشف عن الشذوذ

المراقبة والتنبيهات

  • قم بدمج Portainer مع Prometheus لجمع المقاييس
  • أعد توجيه سجلات الحاويات إلى ELK للتحليل
  • أنشئ تنبيهات في Grafana للأحداث الحرجة
  • راقب استخدام موارد المضيف والحاويات
  • تلقى إشعارات بمحاولات الوصول غير المصرح بها

الخلاصة

يبسط Portainer إدارة حاويات Docker، مما يجعلها في متناول المبتدئين والخبراء على حد سواء. من خلال اتباع هذا الدليل الشامل، تعلمت كيفية تثبيت وتكوين واستخدام Portainer لترشيد عمليات حاويات Docker.

بالإضافة إلى ذلك، اكتسبت رؤى حول أفضل ممارسات الأمان لحماية تطبيقاتك المحاورة.

وبينما تواصل رحلتك مع Docker والحوسبة الحاوية، سيظل Portainer أداة قيّمة في صندوق الأدوات الخاص بك، مما يعزز قدرتك على إدارة تطبيقات الحاويات وتوسيع نطاقها بكفاءة.

نتمنى لك التوفيق في مسيرة الحوسبة الحاوية!

LEAVE A COMMENT