6.3ممارسات جيدة وفخاخ
الأساسي في 30 ثانية
- تحقق : أوسمة ثابتة في الإنتاج وصور slim غير الجذر مفحوصة وصفر أسرار في الصورة ومستودع git.
- وثّق الموثوقية : مجلد مسمى + إثبات وشبكة لكل تطبيق وrestart + فحص صحي وCompose متحقق منه عبر config.
- شغّل : CI مصنعاً وحيداً ونسخ احتياطية معادة التشغيل ووكيل عكسي Proxy وحيد بـ TLS وسجلات بتدوير — ثمانية نعم = إنتاج.
خيط إدير — القاعدة الملصقة على الجدار
بعد ثلاثي، ألصق إدير قاعدته على الجدار في الجزائر : السليم والمثبت أولاً والسريع بعده. ما عدّ أكثر ليس أداة بل ثلاث عادات — الأوسمة الثابتة والمجلدات المثبتة وCompose المتحقق منه — وأكبر فخ تفاداه بشق الأنفس : latest منشورة مساء جمعة، أُوقفت قبل الإنتاج.
اختر عادة واحدة لتثبيتها في طقوسك، ثم انتقل إلى التالية.
عقد الثقة
مكدس Docker السليم يقوم على قواعد قليلة تُطبق دائماً. ها هي، مع عكوسها المحظورة.
✓ للقيام
- أوسمة ثابتة في الإنتاج وlatest في التطوير فقط.
- USER غير الجذر منهجياً وقواعد slim رسمية.
- صفر أسرار في الصورة ومستودع git (تشغيل -e والأسرار Secrets و.env غير مُسلَّم).
- مجلد مسمى للبيانات واختبار rm + إعادة التشغيل.
- شبكة لكل تطبيق والقاعدة داخلية والواجهة الأمامية وحدها منشورة.
- restart + فحص صحي على كل خدمة دائمة.
- Compose مُصدَر ومتحقق منه عبر config وقاعدة + ملفات Profils.
- CI مصنعاً وحيداً (SHA+نسخة) والذاكرة المؤقتة Cache مفعلة.
- نسخ احتياطية آلية + استعادة مختبرة.
- وكيل عكسي وحيد وTLS في الإنتاج وسجلات بتدوير.
✗ للتجنب
- نشر latest في الإنتاج.
- العمل بالجذر « للتبسيط ».
- تسليم .env والأسرار وCOPY لها في الصورة.
- تخزين القاعدة في الطبقة الزائلة.
- نشر كل خدمة والقاعدة.
- depends_on دون شرط ولا إعادة محاولة.
- سطرو docker run منسوخان من الذاكرة.
- البناء/الدفع يدوياً من الحاسوب.
- عدم إعادة تشغيل نسخة احتياطية أبداً.
- منفذ لكل تطبيق دون وكيل ولا إشراف.
نص جاهز للقول — التحقق من مكدسه قبل الإنتاج (30 ثانية)
« أوسمة ثابتة ؟ غير الجذر + فحص ؟ صفر أسرار في git ؟ مجلد مثبت بـ rm + إعادة تشغيل ؟ restart + فحص صحي ؟ Compose config سليم ؟ CI مصنعاً وحيداً ؟ نسخة احتياطية معادة التشغيل ؟ إن كان جواب لا واحد، أصحح قبل الإنتاج. »
نموذج نسخ ولصق — شبكة الإنتاج قبل النشر
docker compose config
docker scout quickview mon-app:1.0
docker compose up -d --build
docker compose ps
docker compose logs -f api
شركة صغيرة جداً / ميزانية صغيرة
عادة واحدة في الثلاثي تكفي : الأوسمة + المجلدات المثبتة أولاً والباقي بعده.
شركة صغيرة ومتوسطة في الجزائر
تكييف الطقوس مع عمليات النشر : موعد نسخة احتياطية معادة التشغيل وإثبات down/up ملتزم به كل شهر.
عن بعد / هجين
الانضباط رقم 1 عن بعد : الوسم وconfig المتحقق منه والإثبات مكتوبة، حتى للمكدسات الصغيرة.
بين الثقافات
التحقق من الاستعمالات المحلية بدل الافتراض : منفذ أو مسار غير معتاد يجب أن يُنبه في كل مكان.
تحدي 48 ساعة — طبّق غداً
امسح مكدسك : صفر latest في الإنتاج وصفر أسرار في git وصفر مجلد غير مثبت. صحح أول انحراف تجده.
- أعرف المنعكسات الـ 10 للقيام والفخاخ الـ 10 للتجنب.
- تحققت من نقاطي الحرجة الـ 3 (الأوسمة والأسرار والمجلدات المثبتة).
- نفذت تحدي 48 ساعة أو حددت تاريخه.
قبل نشره في الإنتاج، أي منعكس يحمي إدير أكثر ؟
مشغّل Docker الجيد ليس من ينشر أسرع، بل من مكدساته مُصدَرة ومثبتة.