قالب exec در Dockerfile: ارسال curl --noproxy * بدون کوتیشن شل
در قالب exec، هر رشته JSON یک آرگومان است. کوتیشنهای اضافی شل میتوانند مقداری را که curl برای --noproxy میگیرد تغییر دهند.
در قالب exec در Dockerfile، آرایه JSON از قبل فهرست آرگومانها است:
CMD ["curl", "--noproxy", "*", "https://example.com/"]
اینجا curl --noproxy و * را بهعنوان آرگومانهای جداگانه میگیرد. ستاره به نام فایلها بسط نمییابد چون هیچ شل فرمانی این قالب را تفسیر نمیکند.
گزینه و مقدار را در یک رشته JSON نگذارید. همچنین فقط به این دلیل که مثالی در ترمینال از کوتیشنهای تک برای محافظت شل استفاده کرده، کوتیشن تک لفظی به رشته اضافه نکنید. آن نویسههای کوتیشن میتوانند بخشی از مقدار ارسالی به برنامه شوند.
قالب شل مرز دیگری دارد: شل را درگیر میکند، بنابراین قواعد کوتیشن و بسط آنجا اهمیت دارند. یک شل صریح که از فرمان قالب exec اجرا شود آن مرز را برمیگرداند.
معنای --noproxy * در curl عبور از پروکسی برای همه میزبانها است. این یک انتخاب مسیریابی است، نه آزمون عمومی قالب آرگومان. فقط زمانی از آن استفاده کنید که مسیر مستقیم سیاست موردنظر است. اگر به عبور باریکتری نیاز دارید، مقدار مطابق را در همان ساختار یک آرگومان برای هر عنصر ارائه دهید.