Dockerfile exec ආකෘතිය: shell quotes නොමැතිව curl --noproxy * යැවීම
exec ආකෘතියේදී, සෑම JSON string එකක්ම එක් argument එකකි. අමතර shell quotes curl --noproxy සඳහා ලබන අගය වෙනස් කළ හැක.
Dockerfile exec ආකෘතියේදී, JSON array එක දැනටමත් argument ලැයිස්තුවයි:
CMD ["curl", "--noproxy", "*", "https://example.com/"]
මෙහි curl --noproxy සහ * වෙන වෙනම argument ලෙස ලබයි. මෙම ආකෘතිය කිසිදු command shell එකක් අර්ථ නොදක්වන බැවින් තරු ලකුණ ගොනු නම් බවට විස්තාරණය නොවේ.
විකල්පය සහ අගය එකම JSON string එකක නොතබන්න. terminal උදාහරණයක් shell ආරක්ෂාව සඳහා ඒවා භාවිත කළ නිසා පමණක් string එක තුළ අකුරින් තනි quotes එකතු නොකරන්න. එම quote අකුරු වැඩසටහනට යවන අගයේ කොටසක් විය හැක.
shell ආකෘතියට තවත් සීමාවක් ඇත: එය shell එකක් ඇතුළත් කරයි, එබැවින් quote සහ විස්තාරණ නීති එහි වැදගත් වේ. exec ආකෘති විධානයකින් ආරම්භ කරන පැහැදිලි shell එකක් එම සීමාව නැවත එකතු කරයි.
curl හි --noproxy * යනු සියලු host සඳහා proxy මගහැරීමයි. එය routing තේරීමක් මිස සාමාන්ය argument ආකෘති පරීක්ෂාවක් නොවේ. සෘජු මාර්ගය අපේක්ෂිත ප්රතිපත්තිය වූ විට පමණක් එය භාවිත කරන්න. ඔබට වඩා පටු මගහැරීමක් අවශ්ය නම්, එම එක්-argument-එකක්-එක්-අංගයකට ව්යුහයේම ගැළපෙන අගය සපයන්න.