Docker / دليل حلول تحريري

خروج الحاوية وفشل الصلاحيات: افصل العملية عن التخزين

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

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

قد تخرج الخدمة أو تعيد التشغيل أو تعرض Permission denied أو Read-only file system. وقد يفشل docker exec لغياب التشغيل؛ ولا يفسر هذا الخطأ الثانوي السبب الأصلي.

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

افهم الأسباب المحتملة

  • قد ينتهي الأمر طبيعياً أو يفتقد ملفاً أو مفسراً أو يُتجاوز عند التشغيل. تحتاج الرموز إلى الحالة والسجلات لا تفسير واحد.
  • قد تمنع الهوية والخريطة والملكية والقراءة فقط والتوسيم الوصول. تغير COPY --chown الصورة ولا تصلح تركيباً مستقلاً.

احفظ الحالة وأول سجل ذي صلة

استخدم اتصالاً مصرحاً وهوية فعلية واقرأ الحالة وسجلات محدودة قبل الإعادة. قد يعني الصفر مهمة مكتملة، ويرتبط 137 عادة بـ SIGKILL ويحتاج أدلة. لا تحول الرمز تلقائياً إلى زيادة ذاكرة أو تشغيل root.

bash قراءة الحالة السابقة دون عملية إضافية
docker container inspect parcel-api --format '{{json .State}}'
docker logs --timestamps --tail 80 parcel-api

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

افحص الملف التنفيذي وعمر المقدمة

قارن Path و Args بالأمر المعتمد وافحص المجلد والمفسر والتنفيذ والمعمارية ونهايات الأسطر. تترك صدفة تضع الخادم خلفياً ثم تخرج الخدمة بلا عملية رئيسية. وقد تفتقد الصورة صدفة عن قصد؛ فلا يجيز ذلك تعديل الإنتاج أو حلقة sleep بلا صلة.

قارن الهوية والمحتوى المركب الفعليين

افحص الهوية والتركيب دون البيئة كاملة. تستخدم الصورة 10001 وقد تتجاوزها الحاوية. يحجب الربط ملفات الصورة وتمنع القراءة فقط الكتابة مهما كانت الملكية. تضيف rootless خرائط مضيف؛ فحدد العملية والمسار ومورده الأصلي.

bash أدلة محدودة للهوية والبدء والتركيب
docker container inspect parcel-api --format '{{json .Config.User}}'
docker container inspect parcel-api --format '{{json .Path}} {{json .Args}}'
docker container inspect parcel-api --format '{{json .Mounts}}'

لا تتغير الملكية أو الصلاحيات أو البيانات أو المحرك. قد تكشف البيانات مسارات مضيف فاحجبها، وقارن الحقائق بالنموذج لا افتراض استمرار USER أو ملكية COPY بعد التجاوز والتركيب.

طبق تصحيحاً محدوداً عبر المالك

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

تحقق من نجاح الإصلاح

تدرب في مختبر مصرح أو استعادة معزولة وافحص عمر الخدمة والقراءة والكتابة بالهوية النهائية والسجلات الأصلية والإغلاق وعدم الحلقة. سجل هويات الصورة والتخزين؛ فلا ينفذ الدليل إجراء محرك أو تغيير بيانات.

امنع تكرار المشكلة

  • رقّم متطلبات الأمر والتخزين معاً واختبر الهوية المقيدة مبكراً واحفظ الفشل ووثق تهيئة الملكية منفصلة. لا تعتبر استبدال الحاوية تصريحاً لإعادة البيانات الأصلية أو حذفها.

المراجع الرسمية