الانتقال إلى المحتوى الرئيسي

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

Docker
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 المبني حديثًا داخل الصورة.

تفصيل صغير — لكن كم من الساعات ضاعت جماعيًا بسبب هذا الفخ؟ 😄

شاهد المنشور الأصلي على LinkedIn