Dockerfile Linter & Formatter
مرشد
مدقق ومنسق Dockerfile
قم بتدقيق وتنسيق ملفات Dockerfile الخاصة بك باستخدام قواعد أفضل الممارسات المستوحاة من hadolint. تحقق من مشكلات الأمان، وحسّن الطبقات، وفرض الاتفاقيات، وقم بالتنسيق باستمرار — كل ذلك في المتصفح.
كيف تستعمل
الصق محتوى Dockerfile الخاص بك في علامة التبويب "مدقق" لفحص الأخطاء والتحذيرات وفرص التحسين. يعرض كل إدخال رقم السطر ومستوى الخطورة والشرح. قم بالتبديل إلى علامة التبويب "منسق" لتطبيق تنسيق متسق مع التعليمات بالأحرف الكبيرة، وأوامر RUN المدمجة، والمسافات النظيفة.
سمات
- أفضل ممارسات التدقيق – 50+ قاعدة تغطي الأمان، وتحسين الطبقات، واتفاقيات Docker
- مستويات الخطورة – تصنيفات الخطأ والتحذير والمعلومات مع شروحات مفصلة
- فحص الأمان – اكتشاف الأسرار المضمنة، والمستخدم الجذر، والصور الأساسية غير المثبتة، والمزيد
- تحسين الطبقات – اقتراحات لتقليل الطبقات وتحسين ذاكرة التخزين المؤقت للبناء
- تنسيق متسق – تعليمات بالأحرف الكبيرة، وأوامر RUN مدمجة، وحجج مرتبة
- تمييز بناء الجملة – عرض Dockerfile مرمّز بالألوان في كلا علامتي التبويب
- نموذج Dockerfile – اختبار سريع بمثال مملوء مسبقًا
التعليمات
-
ما هو Dockerfile وكيف يستخدمه Docker؟
Dockerfile هو ملف نصي يحتوي على سلسلة من التعليمات التي يستخدمها Docker لبناء صورة حاوية. كل تعليمة (مثل FROM، RUN، COPY، CMD، إلخ) تنشئ طبقة جديدة في الصورة. يقرأ Docker ملف Dockerfile من الأعلى إلى الأسفل، وينفذ كل تعليمة لتجميع الصورة النهائية. تسمح البنية الطبقية لـ Docker بتخزين الطبقات غير المتغيرة مؤقتًا، مما يجعل إعادة البناء أسرع. ينتج ملف Dockerfile المكتوب جيدًا صور حاويات أصغر وأكثر أمانًا وكفاءة.
-
لماذا يجب دمج أوامر RUN في ملفات Dockerfile؟
كل تعليمة RUN تنشئ طبقة صورة جديدة. عند تثبيت الحزم عبر أوامر RUN متعددة، تحتفظ الطبقات السابقة بذاكرة التخزين المؤقت لمدير الحزم حتى لو قام أمر RUN لاحق بحذفها - فالطبقات غير قابلة للتغيير بمجرد إنشائها. يؤدي دمج الأوامر باستخدام && في أمر RUN واحد إلى تقليل العدد الإجمالي للطبقات ويسمح بالتنظيف (مثل rm -rf /var/lib/apt/lists/ extit{}) extit{) لتقليل حجم الصورة فعليًا. هذا هو أحد أكثر التحسينات تأثيرًا على حجم صورة Docker.
-
ما هي عمليات البناء متعددة المراحل ومتى يجب استخدامها؟
تستخدم عمليات البناء متعددة المراحل عبارات FROM متعددة في ملف Dockerfile واحد. تبدأ كل عبارة FROM مرحلة بناء جديدة بصورتها الأساسية الخاصة. يمكنك نسخ القطع الأثرية من المراحل السابقة إلى المراحل اللاحقة باستخدام COPY --from=stage_name. يتيح لك ذلك استخدام صورة SDK كاملة للتجميع ولكن شحن الملف الثنائي المجمع فقط في صورة وقت تشغيل مصغرة. النتيجة هي صور إنتاج أصغر بشكل كبير - قد يتم بناء تطبيق Go في صورة SDK بحجم 1 جيجابايت ولكنه يتم نشره في صورة scratch بحجم 10 ميجابايت.
تثبيت ملحقاتنا
أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع
恵 وصلت لوحة النتائج!
لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!
