6.2 · مشاكل متكررة (دليل الحلول Playbook)

المستوى 6 · في الممارسة

6.2مشاكل متكررة (دليل الحلول Playbook)

الهدف: امتلاك دليل « عرض ← أسباب ← إجراءات » لأعطال Docker الشائعة.
الوقت المقدّر: 12 دقيقة · إذا كان لديك 5 دقائق فقط: اقرأ «الأساسي في 30 ثانية» + المخطط.

الأساسي في 30 ثانية

  • شخّص : العرض = أسباب محتملة = تسلسل إجراءات — لا نصحح عشوائياً.
  • الجذور : المتغيرات والمنافذ والمجلدات وإعادة البناء المنسية والفحص الصحي والحقوق والذاكرة المؤقتة Cache وتسجيل الدخول Login — 90 % من حالات الانسداد.
  • تحقق : ps وlogs وconfig والإثبات على مجلد حقيقي، لا فقط على تشغيل معزول.

خيط إدير — اللوحة الملصقة بجانب الشاشة

يحتفظ إدير بهذه اللوحة بجانب شاشته في الجزائر. الحصيلة بعد ثلاثي : ثلاثة سطور خدمته أكثر — الحاوية في وضع Restarting والمنفذ المحجوز مسبقاً والبيانات المفقودة بعد rm. وفي كل منها انتهى إلى تطبيق التسلسل (العرض والأسباب والإجراءات) بدل إعادة التشغيل عشوائياً.

العرض المرصود والأسباب المتحقق منها والإجراءات بالترتيب : المنعكس يسع في ثلاثة أوقات.

منعكس لكل عرض

معظم حالات انسداد Docker كلاسيكيات معروفة. ربط كل عرض بأسبابه المحتملة وتسلسل إجراءاته يوفر وقتاً ثميناً.

العَرَضالأسباب المحتملةالإجراءات
حاوية في وضع Restartingمتغير -e ناقص ومجلد في مسار خاطئ ومنفذ مشغولcompose ps وlogs الخدمة وتصحيح الملف وup -d
port already allocatedمحتل (تشغيل قديم) ومكدسان بنفس منفذ المضيفdocker ps شامل وتغيير منفذ المضيف (الأيسر)
بيانات مفقودة بعد rmلا مجلد والتركيب في مسار خاطئإضافة مجلد مسمى والإثبات عبر rm + إعادة التشغيل
up يتجاهل الشيفرة الجديدةالصورة غير معاد بناؤهاup -d --build ‏(أو الربط Bind في التطوير)
القاعدة « غير جاهزة » عند الإقلاعdepends_on دون شرط ولا إعادة محاولة Retryالفحص الصحي Healthcheck + شرط healthy + إعادة المحاولة في التطبيق
Permission denied على المجلدتركيب بالجذر root وUSER غير الجذر دون chownchown عند البناء / مواءمة UID وعدم العودة إلى الجذر
صورة ضخمة / بناء بطيءCOPY . . في الأول ولا .dockerignoreالاعتماديات أولاً + .dockerignore + البناء متعدد المراحل Multi-stage
Push deniedلا تسجيل دخول واسم دون نطاق Namespace ولا حقوقتسجيل الدخول واسم الحساب/الصورة والحقوق
down مسح كل شيءdown -v على بيانات مرغوبةdown دون -v افتراضياً ؛ ونسخ احتياطية + استعادة مختبرة
خطأ شائع في الفهم: « اللوحة تحل محل التشخيص ». خطأ. اللوحة تعطي أسباباً محتملة لا حكماً : لاحظ العرض وتحقق من السبب (ps وlogs وconfig والمسارات) ثم طبق الإجراء المستهدف.
نص المخطط (SEO / قارئات الشاشة / الترجمة): منهجية اللوحة : 1) تسمية العرض المرصود (Restarting والمنفذ المحجوز والبيانات المفقودة وup يتجاهل الشيفرة والقاعدة غير الجاهزة وpermission denied والصورة الضخمة وpush denied وdown المدمر). 2) استحضار الأسباب المحتملة من اللوحة دون الاستنتاج وحيداً (المتغيرات والمنافذ والمجلدات وإعادة البناء والفحص الصحي والحقوق والذاكرة المؤقتة وتسجيل الدخول). 3) تطبيق الإجراءات بالترتيب (ps وlogs وconfig والتصحيح المستهدف وإعادة البناء والفحص الصحي وchown و.dockerignore وتسجيل الدخول والنسخ الاحتياطي). 4) التصحيح من الجذر (العطل نفسه الذي يعود = تصميم يجب تصحيحه : المجلدات والفحوص الصحية والأوسمة). الدرس : عطل يعود يستدعي ضبطاً، لا إعادات تشغيل عشوائية.

نص جاهز للقول — التشخيص دون إعادة تشغيل عشوائية (30 ثانية)

« عرضي : [Restarting / منفذ محجوز / بيانات مفقودة / قاعدة غير جاهزة]. أتحقق من السبب المحتمل في اللوحة (ps وlogs وconfig والمسارات) وأطبق الإجراء المستهدف وأثبت (إعادة تشغيل وdown/up واستعادة). »

نموذج نسخ ولصق — تشخيص Docker

docker compose ps
docker compose logs -f api
docker ps -a
docker compose config
docker compose up -d --build

شركة صغيرة جداً / ميزانية صغيرة

لا لوحة رسمية : عرض والسبب المحتمل والإجراء ومن يُثبت، مدونة.

شركة صغيرة ومتوسطة في الجزائر

دمج الواقع المحلي في التشخيص : الجهاز الحقيقي والمنافذ المحجوزة مسبقاً ومرجع معروف.

عن بعد / هجين

إضافة الآثار المكتوبة إلى الإجراءات : عن بعد، سجل وإثبات down/up مدونان يتفاديان التكرار.

بين الثقافات

توضيح الملاحظات كتابة : ما يبدو بديهياً (أي خدمة وأي منفذ) ليس كذلك للجميع.

حذر: تذكير عام : العطل نفسه الذي يعود ليس عشرة حوادث — صحح التصميم من الجذر (المجلدات والفحوص الصحية والأوسمة) ولا تدمر أبداً مجلدات مرغوبة (down دون -v افتراضياً ونسخ احتياطية مختبرة).

تحدي 48 ساعة — طبّق غداً

رصد عرض واحد حالي (Restarting أو منفذ أو بيانات أو قاعدة غير جاهزة) وطبق سطر اللوحة (عرض مسمى + سبب متحقق منه + إجراء مستهدف) وأثبت.

قائمة الخروج من القسم
  • أعرف ربط العرض بأسبابه المحتملة.
  • أتحقق من ps وlogs وconfig قبل التصحيح.
  • أثبت كل تصحيح (إعادة تشغيل وdown/up واستعادة).
تقييم ذاتي 1-5 : التشخيص قبل التصحيح ؟إثبات منهجي بعد التصحيح ؟
تحقّق من فهمك

حاوية إدير تدور في وضع Restarting. أي منعكس يطبق اللوحة ؟

💡

المنعكس : شخّص العرض وحدد السبب وطبق الإجراء المستهدف — لا تُعد التشغيل عشوائياً.