المدونة

دروس وأدلة وأخبار المنتج.

المطورون

ما هو Docker وكيف تستخدمه على VPS؟

3 نوفمبر 2026 4 د للقراءة
مشاركة هذه المقالة

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

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

أربعة مصطلحات تكفي للبدء

المصطلحما يعنيه
الصورة (Image)الحزمة الجاهزة للتطبيق. تُنزَّل من سجل مثل Docker Hub.
الحاوية (Container)نسخة قيد التشغيل بدأت من صورة.
وحدة التخزين (Volume)تخزين دائم يحتفظ ببياناتك حتى عند حذف الحاوية.
Composeأداة تعرّف عدة حاويات في ملف compose.yaml واحد وتديرها بأمر واحد.

حذف الحاوية يحذف الملفات التي بداخلها. وكل ما يجب أن يبقى، مثل قاعدة البيانات، ركّبه على وحدة تخزين أو على مجلد في الخادم.

كيف تثبّت Docker على Ubuntu؟

اتصل أولًا بالخادم عبر SSH. تعمل الحزمة docker.io من مستودعات Ubuntu، وتستخدمها خوادم Docker الجاهزة في Seturack. وللحصول على أحدث إصدار، استخدم مستودع apt الخاص بـ Docker. وبحسب وثائق Docker الرسمية، تتعارض حزم Ubuntu مثل docker.io وdocker-compose مع حزم Docker نفسها، لذا أزلها أولًا إن كانت مثبّتة.

  1. اتبع قسم "apt repository" في صفحة تثبيت Docker على Ubuntu لإضافة مفتاح التوقيع ومصدر المستودع. ونفّذ الأوامر من هناك كما هي، لأنها تتغير بين الإصدارات.
  2. ثبّت الحزم: sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. تحقق من أن الخدمة تعمل: sudo systemctl status docker
  4. شغّل حاوية الاختبار: sudo docker run --rm hello-world

إذا رأيت رسالة الترحيب فـ Docker جاهز. وعلى Ubuntu وDebian تبدأ الخدمة تلقائيًا مع كل إقلاع.

أول حاوية لك

شغّل خادم ويب بأمر واحد:

docker run -d --name web --restart unless-stopped -p 80:80 nginx:1.30

يشغّل -d الحاوية في الخلفية. ويعيد --restart unless-stopped تشغيلها عند إعادة إقلاع الخادم أو تعطل الحاوية. ويربط -p 80:80 المنفذ 80 في الخادم بالحاوية. وnginx:1.30 اسم الصورة ووسم الإصدار. الوسم مجرد مثال، فاختر وسم الإصدار المستقر الحالي من صفحة Nginx الرسمية على Docker Hub. افتح عنوان IP الخادم في المتصفح وسترى صفحة الترحيب في Nginx. ولإزالتها نفّذ docker rm -f web.

ركّب وحدة تخزين للبيانات الدائمة، مثل -v sitedata:/usr/share/nginx/html. وتسرد وحدات التخزين بالأمر docker volume ls. وتصل الخدمات في ملف compose.yaml نفسه إلى بعضها باسم الخدمة، فيتصل تطبيقك بقاعدة البيانات باسم db مثلًا.

عندما تكون لديك عدة حاويات، ضعها كلها في ملف compose.yaml ونفّذ docker compose up -d في مجلد الملف. والمفاتيح image وrestart وports وvolumes في الملف تقابل الخيارات أعلاه. وتفحص الحالة بالأمر docker compose ps، وتقرأ السجلات بـ docker compose logs -f، وتوقف كل شيء بـ docker compose down.

أوامر ستستخدمها كل يوم

الأمروظيفته
docker psيسرد الحاويات العاملة. أضف -a لترى المتوقفة أيضًا.
docker logs -f webيتابع سجل الحاوية web مباشرة.
docker exec -it web shيفتح صدفة (shell) داخل الحاوية.
docker statsيعرض استخدام المعالج والذاكرة للحاويات.
docker compose pull وdocker compose up -dينزّل الصورة الجديدة ويستبدل الحاوية بالجديدة. وتبقى البيانات في وحدات التخزين.

قبل التحديث، اقرأ ملاحظات إصدار التطبيق وارفع وسم الإصدار في ملف compose بنفسك. فالغاية من تثبيت الوسم أن يصبح التحديث قرارًا لا حادثًا.

أربعة أمور يجب الانتباه إليها

  • يتجاوز Docker قواعد ufw. بحسب الوثائق الرسمية، تُفتح المنافذ التي ينشرها Docker قبل أن تُطبَّق قواعد ufw. وقاعدة ufw التي تمنع منفذًا كهذا لا أثر لها. اربط الخدمة التي يجب ألا يصل إليها أحد من الخارج بالعنوان المحلي فقط، مثل -p 127.0.0.1:5432:5432. والحاويات على شبكة Docker نفسها تصل إلى بعضها أصلًا، فلا حاجة إلى نشر قاعدة بيانات.
  • الوسم latest. إذا لم تعطِ وسمًا، يُسحب latest. وفي السحب التالي قد يقفز تطبيقك إلى إصدار لم تتوقعه. اكتب وسمًا محددًا وجدول التحديثات بنفسك.
  • مجموعة docker تعني root. إضافة مستخدم إلى مجموعة docker تمنحه صلاحيات بمستوى root (الوثائق الرسمية). أضف الحسابات التي تثق بها فقط.
  • السجلات والصور تملأ القرص. لا يضع الإعداد الافتراضي لسجلات Docker حدًا للحجم. اضبط حدًا على الحاوية: --log-opt max-size=10m --log-opt max-file=3. ويعرض docker system df استخدام القرص، ويزيل docker image prune الصور بلا وسوم.

Docker أم تثبيت مباشر؟

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

Docker جاهز في Seturack

إذا لم ترغب في تثبيت Docker بنفسك، يمكنك طلب خادم مع تطبيق Docker. يأتي Docker وCompose مثبّتين، ويستغرق الإعداد نحو 2.5 دقيقة. جدار الحماية (ufw) مفعّل ومنفذ SSH وحده مفتوح للخارج، ويحمي fail2ban خدمة SSH، وتُحدَّد سجلات الحاويات بـ 3 ملفات بحجم 10 MB لكل حاوية. وليس للتطبيق واجهة ويب، لذا لا تعرض اللوحة عنوان موقع. وينطبق فخ المنافذ المذكور أعلاه هنا أيضًا. وللبدء بخادم جاهز، راجع صفحة Docker VPS.

جاهز على Seturack: Portainer, Coolify, Dokploy.

التعليقات0

لا توجد تعليقات بعد

كن أول من يشارك رأيه.

الانضمام إلى النقاش

يرجى تسجيل الدخول أو إنشاء حساب لترك تعليق.

لا تفوت أي مقالة

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

تم اشتراكك في نشرتنا البريدية.