عندما أقوم ببناء هذه الصورة مع docker build -t myname/symfony_apps:latest . وتشغيل الحاوية مع docker run -p 8080:80 myname/symfony_apps:latest.وغمرت المياه أباتشي السجل عن طريق الإذن نفى الأخطاء ، والشيء الغريب أن لقد راجعت مع ls -a والأذونات على ما يرام. وعندما أقوم بتشغيل شمود من باش الحاوية ، اختفت قضايا إذن أباتشي والتطبيق يعمل بشكل جيد
الحالة
تشغيل أوامر شمود من دوكيرفيل: يتم تغيير الأذونات ولكن أباتشي لا يزال يشكو من رفض الإذن.تشغيل شمود نفس الأوامر مع باش داخل الحاوية: يتم تغيير الأذونات والتطبيق الخاص بي قيد التشغيل
أي فكرة, أنا في عداد المفقودين شيء, ربما ينبغي لي أن أضيف المستخدم الجذر في مكان ما في دوكيرفيل ?
من المحتمل أن تكون هذه المشكلة نتيجة ل VOLUME تعريف داخل المنبع دوكيرفيل. عندما يتم تعريف وحدة تخزين في دوكيرفيل ، يمكنك إضافة ملفات مع COPY أو ADD الأمر مباشرة في الصورة. ومع ذلك ، أ RUN خط سوف:
قم بإنشاء حاوية مؤقتة باستخدام تعريف الصورة اعتبارا من النقطة الحالية لملف الإرساء
ستحتوي هذه الحاوية المؤقتة على وحدة تخزين مجهولة المصدر مثبتة كما أنت أو صورة أصل محددة داخل ملف الإرساء
سيتم تهيئة وحدة التخزين المجهولة من محتويات الصورة
سيتم تشغيل الأمر الخاص بك داخل الحاوية
إذا قمت بإدراج الدليل خلال هذا RUN الأمر ، سترى التغييرات المطبقة ، ولكن تم تطبيق هذه التغييرات على وحدة التخزين
عند اكتمال أمر التشغيل الخاص بك ، سيقوم عامل الميناء بالتقاط التغييرات على الحاوية
ويمكن رؤية هذه التغييرات مع docker diff إذا لم تقم بحذف الحاويات المؤقتة (يمكنك تشغيل بناء مع --rm=false أن يكون لهم البقاء)
لن تتضمن هذه التغييرات محتويات وحدة التخزين المجهولة لأنها غير موجودة داخل نظام ملفات الحاوية المؤقتة ، وحدات التخزين منفصلة
بسبب هذا السلوك ، لديك خيارات ل:
يمكنك نسخ ملفاتك إلى دليل مختلف وتغيير الأذونات هناك
يمكنك إصلاح الأذونات على المضيف الخاص بك حتى يتم نسخها باستخدام هذه الأذونات مباشرة
يمكنك إزالة وحدة التخزين من أي من صورتك ، أو الحصول على الصورة الأولية لإزالة تعريف وحدة التخزين الخاصة بها ، أو يمكنك إعادة إنشاء نسختك الخاصة من الصورة الأولية دون تعريف وحدة التخزين وقاعدة صورك من ذلك
لاحظ أنه داخل الصور فب الحالية ، يبدو أن حجم قد أزيلت ، مما يعني أن لدينا على نحو فعال الخيار 3.
أرى مساحة إضافية في الأمر الأخير الخاص بك (أنا على هاتفي ، لذلك لا يمكنني التأكد). كما يبدو أن مشكلة الإذن مع دليل السجل ، قم بتغيير السطر الأخير إلى:" `
تشغيل شمود-ر 777 / فار/ووو/هتمل / أب / مخبأ /فار/ووو/هتمل/أب / سجلات
أنا غير قادر على إعادة إنتاج مشكلتك. إذا كنت تستخدم دوكيرفيل الخاص بك وإعداد بعض الملفات وهمية محليا ، أذونات صحيحة وكل شيء يعمل فقط. يمكنني تشغيل حاوية والوصول إلى المحتوى عبر متصفح الويب. يمكنك تحديث سؤالك لتشمل رسائل خطأ محددة? هل أنت متأكد من تكوين أباتشي الخاص بك (‘أباتشي2.أسيوط’) لا يسبب مشكلة? هل الأخطاء تذهب بعيدا إذا لم تقم بتثبيت ’ أباتشي2.أسيوط’?