Dockerfile फ़ॉर्मेटर
Dockerfile फ़ॉर्मेट करें और सर्वोत्तम प्रथाओं तथा lint सुझाव प्राप्त करें।
आपका Dockerfile आपके browser में स्थानीय रूप से फ़ॉर्मैट और lint होता है, और आप जो कुछ पेस्ट करते हैं वह किसी सर्वर पर अपलोड नहीं होता।
build context प्रबंधित कर रहे हैं? Gitignore Generator से एक .gitignore बनाएँ।
Dockerfile फ़ॉर्मेटर के बारे में
यह dockerfile formatter आपके Dockerfile को साफ करता है और इसे एक ही पास में Docker best practices के विरुद्ध जाँचता है। एक Dockerfile पेस्ट करें और यह प्रत्येक instruction keyword को uppercase में सामान्यीकृत करता है, trailing whitespace छाँटता है, और दोहराई गई खाली लाइनों को collapse करता है ताकि फ़ाइल सुसंगत रूप से पढ़ी जाए। एक हल्के dockerfile linter के रूप में काम करते हुए, यह सामान्य समस्याओं को भी flag करता है: बिना pin किए base-image tags, जहाँ COPY चाहिए वहाँ ADD, --no-install-recommends के बिना apt-get installs, बचे हुए apt caches, sudo का उपयोग, RUN के भीतर cd, संयोजनीय RUN layers, और root के रूप में चलते रहने वाले containers। यह उन डेवलपर्स और DevOps इंजीनियरों के लिए बनाया गया है जो commit करने से पहले एक Dockerfile को ऑनलाइन फ़ॉर्मैट करना और dockerfile best practices का पालन करते हुए image builds को कसना चाहते हैं। सब कुछ आपके browser में स्थानीय रूप से चलता है, इसलिए आप जो Dockerfile पेस्ट करते हैं वह आपकी मशीन पर प्रोसेस होता है और आपका डेटा आपके डिवाइस से बाहर नहीं जाता।
विशेषताएँ
- सुसंगत स्टाइल के लिए हर Dockerfile instruction (FROM, RUN, COPY, CMD और अधिक) को uppercase करता है
- trailing whitespace छाँटता है और दोहराई गई खाली लाइनों को collapse करता है
- जब कोई base image :latest उपयोग करता है या उसका कोई pinned tag नहीं होता तो चेतावनी देता है
- स्थानीय फ़ाइलों के लिए ADD के बजाय COPY सुझाता है
- images छोटा करने के लिए --no-install-recommends और apt cache cleanup की सिफारिश करता है
- sudo के उपयोग और बिना USER सेट किए root के रूप में चलने वाले containers को flag करता है
- लगातार RUN steps का पता लगाता है जिन्हें layers कम करने के लिए संयोजित किया जा सकता है
- हर सुझाव को एक WARN या TIP बैज और लाइन नंबर के साथ दिखाता है
Dockerfile फ़ॉर्मेटर का उपयोग कैसे करें
- अपना Dockerfile इनपुट बॉक्स में पेस्ट करें।
- Formatted Dockerfile पैन में साफ किया गया, instruction-uppercased आउटपुट पढ़ें।
- WARN और TIP सुझावों के लिए आउटपुट के नीचे best-practice जाँचों की समीक्षा करें।
- जो फ़िक्स आप चाहते हैं उन्हें लागू करें, फिर परिणाम को Dockerfile के रूप में कॉपी या डाउनलोड करें।
उदाहरण
इनपुट
from node:latest
run apt-get update && apt-get install curl
copy . .
cmd ["node","app.js"]
आउटपुट
FROM node:latest
RUN apt-get update && apt-get install curl
COPY . .
CMD ["node","app.js"]
instructions uppercase और साफ की गई हैं; जाँच पैनल अभी भी node tag pin करने, --no-install-recommends जोड़ने, और एक non-root USER सेट करने की चेतावनी देता है।
सामान्य त्रुटियाँ और समस्या निवारण
- आउटपुट आपके इनपुट जैसा ही दिखता है। — formatter केवल casing, whitespace, और खाली लाइनों को सामान्यीकृत करता है। यदि आपकी instructions पहले से uppercase और साफ थीं, तो बदलने को कुछ नहीं है। इसके बजाय सुझावों के लिए best-practice पैनल देखें।
- Lint ADD को flag करता है जबकि आप एक URL डाउनलोड कर रहे हैं या एक archive निकाल रहे हैं। — COPY-over-ADD चेतावनी http(s) URLs वाले ADD और .tar/.gz/.tgz/.bz2/.xz/.zip archives के लिए छोड़ दी जाती है। सादी स्थानीय फ़ाइलों के लिए चेतावनी हटाने हेतु COPY पर स्विच करें।
- एक USER चेतावनी दिखती है भले ही आपने एक non-root user पर स्विच कर लिया हो। — जाँच फ़ाइल में कहीं भी एक USER instruction खोजती है। सुनिश्चित करें कि लाइन USER keyword से शुरू होती है और commented out नहीं है ताकि इसे पहचाना जाए।
- Line continuations या असामान्य लाइनें अछूती छोड़ दी जाती हैं। — जो लाइनें पहचानी गई instructions नहीं हैं, जैसे backslash continuations, उन्हें जानबूझकर वैसे ही रखा जाता है ताकि multi-line RUN commands न टूटें।
अक्सर पूछे जाने वाले प्रश्न
- ArrayKit Dockerfile Formatter क्या है और यह क्या बदलता है?
- यह एक in-browser dockerfile formatter है जो प्रत्येक instruction keyword को uppercase करता है, trailing whitespace छाँटता है, और कई खाली लाइनों को एक में collapse करता है। यह आपके commands को न तो फिर से लिखता है न ही पुनः क्रमबद्ध करता है, इसलिए आपका build logic बरकरार रहता है।
- इस टूल से मैं best practices के लिए अपने Dockerfile को कैसे lint करूँ?
- बस अपना Dockerfile पेस्ट करें। फ़ॉर्मैटिंग के साथ-साथ यह बिना pin किए base tags, ADD बनाम COPY, apt-get flags व cache cleanup, sudo का उपयोग, RUN में cd, संयोजनीय RUN layers, और root के रूप में चलने के लिए जाँचें चलाता है, जो लाइन नंबरों के साथ WARN और TIP सुझावों के रूप में दिखाई जाती हैं।
- Dockerfile Formatter मुझे अपना base image tag pin करने की चेतावनी क्यों दे रहा है?
- :latest या कोई tag न उपयोग करने का मतलब है कि जब base image अपडेट होता है तो आपका build अप्रत्याशित रूप से बदल सकता है। एक विशिष्ट tag, जैसे node:20-alpine, pin करना builds को पुनरुत्पादनीय बनाता है।
- क्या मैं फ़ॉर्मैट किया गया Dockerfile डाउनलोड कर सकता हूँ?
- हाँ, आप आउटपुट कॉपी कर सकते हैं या इसे सीधे formatted output पैन से एक सादे Dockerfile के रूप में डाउनलोड कर सकते हैं।
- जब मैं इस formatter का उपयोग करता हूँ तो क्या मेरा Dockerfile कहीं अपलोड होता है?
- नहीं। Dockerfile formatter पूरी तरह आपके browser में चलता है और आप जो फ़ाइल पेस्ट करते हैं वह स्थानीय रूप से प्रोसेस होती है, इसलिए आपका डेटा कभी आपके डिवाइस से बाहर नहीं जाता और कुछ भी किसी सर्वर पर नहीं भेजा जाता।
संबंधित टूल
- YAML ↔ JSON — YAML को JSON में और वापस कन्वर्ट करें।
- SQL फ़ॉर्मेटर — MySQL, PostgreSQL, SQL Server, SQLite, BigQuery और Oracle के लिए SQL फ़ॉर्मेट करें।
- JSON फ़ॉर्मेटर — त्रुटि की स्थिति के साथ JSON को सुंदर बनाएँ, छोटा करें और वैलिडेट करें।
- XML फ़ॉर्मेटर — XML को सुंदर बनाएँ, छोटा करें और वैलिडेट करें, और XML ↔ JSON कन्वर्ट करें।
- GraphQL फ़ॉर्मेटर — GraphQL क्वेरी और स्कीमा फ़ॉर्मेट या छोटा करें, सिंटैक्स वैलिडेट करें और ऑपरेशन निकालें।
- .gitignore जेनरेटर — सामान्य भाषा और टूल टेम्पलेट से .gitignore बनाएँ।
- MongoDB क्वेरी फ़ॉर्मेटर — MongoDB शेल क्वेरी और एग्रीगेशन पाइपलाइन फ़ॉर्मेट करें।
- chmod कैलकुलेटर — Unix फ़ाइल अनुमतियों को ऑक्टल और सिंबॉलिक (rwx) के बीच कन्वर्ट करें।
सभी ArrayKit टूल