Dockerfile exec फॉर्म: shell quotes शिवाय curl --noproxy * पास करणे
exec फॉर्ममध्ये, प्रत्येक JSON स्ट्रिंग एक आर्ग्युमेंट आहे. अतिरिक्त shell quotes curl ला --noproxy साठी मिळणारे मूल्य बदलू शकतात.
Dockerfile exec फॉर्ममध्ये, JSON अॅरे ही आधीच आर्ग्युमेंट यादी आहे:
CMD ["curl", "--noproxy", "*", "https://example.com/"]
येथे curl --noproxy आणि * स्वतंत्र आर्ग्युमेंट म्हणून घेतो. तारका चिन्ह फाइल नावांमध्ये विस्तारित होत नाही, कारण कोणताही कमांड shell हा फॉर्म अर्थ लावत नाही.
पर्याय आणि मूल्य एकाच JSON स्ट्रिंगमध्ये ठेवू नका. टर्मिनल उदाहरणाने shell संरक्षणासाठी वापरले म्हणून स्ट्रिंगच्या आत शब्दशः एकेरी quotes जोडू नका. ते quote अक्षर कार्यक्रमाला दिल्या जाणाऱ्या मूल्याचा भाग होऊ शकतात.
shell फॉर्मला दुसरी सीमा आहे: त्यात shell असते, म्हणून quote आणि विस्ताराचे नियम तिथे महत्त्वाचे असतात. exec फॉर्म कमांडमधून सुरू केलेला स्पष्ट shell ती सीमा पुन्हा जोडतो.
curl मधील --noproxy * चा अर्थ सर्व होस्टसाठी प्रॉक्सी टाळणे आहे. हा राउटिंग निवड आहे, सामान्य आर्ग्युमेंट-फॉर्मॅट चाचणी नाही. जेव्हा थेट मार्ग हेच इच्छित धोरण असेल तेव्हाच वापरा. तुम्हाला अधिक अरुंद टाळणी हवी असल्यास, त्याच एक-आर्ग्युमेंट-प्रति-घटक रचनेत जुळणारे मूल्य द्या.