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 سٹرنگ میں نہ رکھیں۔ محض اس لیے سٹرنگ کے اندر لفظی واحد quotes نہ شامل کریں کہ کسی ٹرمینل مثال نے انہیں shell تحفظ کے لیے استعمال کیا تھا۔ وہ quote حروف پروگرام کو دی جانے والی قدر کا حصہ بن سکتے ہیں۔
shell شکل کی ایک اور حد ہے: یہ shell کو شامل کرتی ہے، اس لیے quote اور توسیع کے قواعد وہاں اہم ہیں۔ exec شکل کے کمانڈ سے شروع کیا گیا واضح shell وہ حد دوبارہ شامل کر دیتا ہے۔
curl میں --noproxy * کا مطلب تمام ہوسٹس کے لیے پراکسی سے گزرنا ہے۔ یہ روٹنگ کا انتخاب ہے، عام آرگیومنٹ-فارمیٹ ٹیسٹ نہیں۔ اسے صرف تب استعمال کریں جب سیدھا راستہ ہی مطلوبہ پالیسی ہو۔ اگر آپ کو زیادہ تنگ گزر درکار ہو، تو اسی ایک-آرگیومنٹ-فی-عنصر ڈھانچے میں موزوں قدر دیں۔