Docker: «ثبّتُّ الحزمة، فلماذا لا تراها الحاوية؟!»

مشكلة كلاسيكية في تطوير الواجهات الأمامية مع Docker. الإعداد المعتاد:
volumes:
- ./ui:/app
- /app/node_modulesالـvolume الثاني هو volume مجهول (anonymous): «يحمي» node_modules من تركيب كود المصدر. عملي… حتى اليوم الذي تضيف فيه حزمة جديدة. 🤔
لأن هذا الـvolume المجهول يبقى بين إعادات التشغيل. تعيد بناء الصورة مع الحزمة الجديدة، لكن الحاوية ما زالت تركّب الـvolume القديم بمحتوى node_modules القديم. الحزمة غير موجودة.
الحل الذي أطبّقه دائمًا بعد كل إضافة اعتماد:
docker compose rm -fv frontend
docker compose up -d frontendالخيار -v يحذف الـvolumes المجهولة المرتبطة، فتنطلق الحاوية من جديد بمجلد node_modules المبني حديثًا داخل الصورة.
تفصيل صغير — لكن كم من الساعات ضاعت جماعيًا بسبب هذا الفخ؟ 😄


