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 * എന്നതിന്റെ അർത്ഥം എല്ലാ ഹോസ്റ്റുകൾക്കും പ്രോക്സി ഒഴിവാക്കുക എന്നതാണ്. ഇത് ഒരു റൂട്ടിംഗ് തിരഞ്ഞെടുപ്പാണ്, പൊതുവായ ആർഗ്യുമെന്റ് ഫോർമാറ്റ് പരിശോധനയല്ല. നേരിട്ടുള്ള പാതയാണ് ഉദ്ദേശിച്ച നയമെങ്കിൽ മാത്രം ഇത് ഉപയോഗിക്കുക. കൂടുതൽ ഇടുങ്ങിയ ഒഴിവാക്കൽ വേണമെങ്കിൽ, അതേ ഒരു-ആർഗ്യുമെന്റ്-പ്രതി-ഘടകം ഘടനയിൽ യോജിക്കുന്ന മൂല്യം നൽകുക.