Dockerfile exec formoje JSON masyvas jau yra argumentų sąrašas:

CMD ["curl", "--noproxy", "*", "https://example.com/"]

Čia curl gauna --noproxy ir * kaip atskirus argumentus. Žvaigždutė neišskleidžiama į failų pavadinimus, nes jokia komandų shell šios formos neinterpretuoja.

Nedėkite parinkties ir reikšmės į vieną JSON eilutę. Taip pat nepridėkite tiesioginių viengubų kabučių eilutės viduje vien todėl, kad terminalo pavyzdys jas naudojo shell apsaugai. Tie kabučių simboliai gali tapti programai perduodamos reikšmės dalimi.

Shell forma turi kitą ribą: ji apima shell, todėl ten galioja kabučių ir išskleidimo taisyklės. Aiškiai iš exec formos komandos paleistas shell vėl prideda tą ribą.

curl --noproxy * reikšmė yra apeiti tarpinį serverį visiems hostams. Tai maršruto pasirinkimas, o ne bendras argumentų formato testas. Naudokite jį tik kai tiesioginis maršrutas yra numatyta politika. Jei jums reikia siauresnio apėjimo, pateikite atitinkamą reikšmę toje pačioje vieno argumento vienam elementui struktūroje.

Susiję straipsniai