मैं अनिश्चित हूं कि डॉकफाइल्स का नाम कैसे रखा जाए। GitHub पर कई Dockerfile
फ़ाइल एक्सटेंशन के बिना उपयोग करते हैं । क्या मैं उन्हें नाम और विस्तार दूं; यदि ऐसा है तो क्या? या मैं सिर्फ उन्हें फोन करता हूं Dockerfile
?
मैं अनिश्चित हूं कि डॉकफाइल्स का नाम कैसे रखा जाए। GitHub पर कई Dockerfile
फ़ाइल एक्सटेंशन के बिना उपयोग करते हैं । क्या मैं उन्हें नाम और विस्तार दूं; यदि ऐसा है तो क्या? या मैं सिर्फ उन्हें फोन करता हूं Dockerfile
?
जवाबों:
यदि आप autobuilder का उपयोग करना चाहते हैं do.dfer.com पर dockerfile का नाम न बदलें। डॉक फ़ाइलों के लिए एक्सटेंशन का उपयोग न करें, इसे शून्य छोड़ दें। फ़ाइल नाम बस होना चाहिए: (कोई विस्तार नहीं)
Dockerfile
हालाँकि, आप नीचे भी पसंद कर सकते हैं ...
dev.Dockerfile
, uat.Dockerfile
, prod.Dockerfile
आदि
VS कोड पर आप इसका उपयोग कर सकते हैं <purpose>.Dockerfile
और यह उसी के अनुसार काम करता है।
dev.Dockerfile
, test.Dockerfile
, build.Dockerfile
आदि
वीएस कोड पर मैं उपयोग करता हूं <purpose>.Dockerfile
और यह सही तरीके से पहचाना जाता है।
मुझे लगता है कि आपके पास इसमें एक डॉकरीफाइल (कोई विस्तार नहीं) के साथ प्रति कंटेनर एक निर्देशिका होनी चाहिए। उदाहरण के लिए:
/db/Dockerfile
/web/Dockerfile
/api/Dockerfile
जब आप केवल डायरेक्टरी नाम का उपयोग करते हैं, तो डॉकर को डॉकरफाइल मिलेगा। उदाहरण के लिए:
docker build -f ./db .
यदि आप hub.docker.com पर autobuilder का उपयोग करना चाहते हैं, तो यह होना चाहिए Dockerfile
। इसलिए वहाँ :)
ऐसा लगता है कि यह सच है लेकिन, व्यक्तिगत रूप से, यह मुझे खराब डिजाइन लगता है। निश्चित रूप से, एक डिफ़ॉल्ट नाम (एक्सटेंशन के साथ) है, लेकिन अन्य नामों की अनुमति दें और कमांड के लिए docker फ़ाइल के नाम को निर्दिष्ट करने का एक तरीका है।
एक्सटेंशन होना भी अच्छा है क्योंकि यह एप्लिकेशन को उस एक्सटेंशन प्रकार से संबद्ध करने की अनुमति देता है। जब मैं MacOSX में एक डॉकरफाइल पर क्लिक करता हूं तो यह इसे यूनिक्स एक्जीक्यूटेबल के रूप में मानता है और इसे चलाने की कोशिश करता है।
अगर डॉकर फाइलों में एक्सटेंशन होता है, तो मैं ओएस को उन्हें एक विशेष एप्लिकेशन के साथ शुरू करने के लिए कह सकता हूं, जैसे मेरा टेक्स्ट एडिटर एप्लीकेशन। मुझे यकीन नहीं है लेकिन वर्तमान व्यवहार भी फ़ाइल अनुमति से संबंधित हो सकता है।
मैंने एक ही निर्देशिका में दो डॉकफाइल्स बनाई हैं,
# vi one.Dockerfile
# vi two.Dockerfile
दोनों डॉकफाइल्स का उपयोग करने के लिए,
# docker build . -f one.Dockerfile
# docker build . -f two.Dockerfile
नोट: आपको वर्तमान कार्यशील निर्देशिका में होना चाहिए।
क्या मैं उन्हें नाम और विस्तार दूं; यदि ऐसा है तो क्या?
आपको अपनी पसंद के अनुसार अपने डॉकफाइल्स का नाम दे सकते हैं। डिफ़ॉल्ट फ़ाइल नाम हैDockerfile
(बिना एक्सटेंशन के) है, और डिफ़ॉल्ट का उपयोग कंटेनर के साथ काम करते समय विभिन्न कार्यों को आसान बना सकता है।
अपनी विशिष्ट आवश्यकताओं के आधार पर आप फ़ाइल नाम बदलना चाह सकते हैं। यदि आप कई आर्किटेक्चर के लिए निर्माण कर रहे हैं, उदाहरण के लिए, आप आर्किटेक्चर को इंगित करते हुए एक एक्सटेंशन जोड़ना चाह सकते हैं क्योंकि राल । Hioroxy कंटेनर उनके मल्टी-कंटेनर ARM उदाहरण के लिए टीम ने किया है :
Dockerfile.aarch64
Dockerfile.amd64
Dockerfile.armhf
Dockerfile.armv7hf
Dockerfile.i386
Dockerfile.i386-nlp
Dockerfile.rpi
प्रदान किए गए उदाहरण में, प्रत्येक डॉकरफाइल एक अलग, वास्तुकला-विशिष्ट, अपस्ट्रीम छवि से बनाता है। निर्माण के लिए उपयोग करने के लिए विशिष्ट डॉकफाइल को कमांड लाइन का उपयोग करके अपने कंटेनर का निर्माण करते समय --file, -f
विकल्प का उपयोग करके निर्दिष्ट किया जा सकता है ।
Dockerfile
अच्छा है यदि आपके पास केवल एक डॉक फ़ाइल (प्रति-निर्देशिका) है। यदि आप एक ही निर्देशिका में एकाधिक docker फ़ाइलों की आवश्यकता है, तो आप जो भी मानक चाहते हैं, उसका उपयोग कर सकते हैं - यदि आपके पास एक अच्छा कारण है। हाल ही में एक परियोजना में AWS डॉक फाइलें और स्थानीय देव पर्यावरण फाइलें थीं क्योंकि वातावरण पर्याप्त भिन्न थे:
Dockerfile
Dockerfile.aws
Dockerfile.armv7hf
आगे एक रखकर Dockerfile.i386
।