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 * નો અર્થ બધા હોસ્ટ માટે પ્રોક્સી ટાળવી છે. તે રૂટિંગ પસંદગી છે, સામાન્ય આર્ગ્યુમેન્ટ-ફોર્મેટ પરીક્ષણ નથી. જ્યારે સીધો રૂટ ઇચ્છિત નીતિ હોય ત્યારે જ તેનો ઉપયોગ કરો. જો તમારે વધુ સાંકડી બાયપાસ જોઈએ, તો સમાન એક-આર્ગ્યુમેન્ટ-પ્રતિ-ઘટક માળખામાં મેળ ખાતું મૂલ્ય આપો.