L19 · 14 دقيقة
Docker بإيجاز
حاوية للمحاكاة لا للموضة.
البرمجة
أهداف التعلّم
- فهم الحاوية كتجميد لأدوات التشغيل لا كبديل عن فهم الفيزياء.
- معرفة متى تبرر الحاوية (مشاركة بروتوكول، عنقود بلا root).
- عدم المبالغة: الحاوية لا تصلح force field خاطئ.
حاوية للمحاكاة لا للموضة
Docker (وأشباهه مثل Singularity/Apptainer على العناقيد) يغلف البرامج ومكتبات النظام. مفيد عندما «عندي يعمل». ليس بديلاً عن توثيق mdp والشحنات والنُسخ الفيزيائية.
متى يستحق
- ورشة تحتاج نفس RDKit/GROMACS لمئة طالب.
- عنقود لا يسمح بالتركيب العالمي.
- مشاركة بروتوكول مع مختبر آخر.
لماذا؟ — لماذا لا تغني الحاوية عن environment.yml؟
لأنك قد تحتاج قراءة سريعة للحزم دون تشغيل الصورة، ولأن بعض العناقيد تفضّل modules. التوثيق النصي يبقى.
ماذا لو؟ — ماذا لو نشرت صورة ثم اختفت من السجل العام بعد سنتين؟
فقدت إعادة التشغيل. احفظ الصورة أو Dockerfile مع hash في أرشيف المؤسسة.
تمرين
اذكر ثلاثة أشياء يجب أن تبقى خارج الصورة وتُربط كبيانات.
docker image ls
الغرض: سرد الصور المحلية — أمر قياسي للتأكد أن الصورة موجودة قبل أي run.
المُدخل: Docker يعمل وصلاحية المستخدم.
المُخرج: أسماء الصور والوسوم.
المعنى: الوسم tag جزء من الإصدار يُذكر في methods.
أخطاء شائعة: Cannot connect to Docker daemon: الخدمة غير شغالة أو لا صلاحية.