Forma exec del Dockerfile: passa curl --noproxy * sense cometes de shell
En la forma exec, cada cadena JSON és un argument. Les cometes de shell addicionals poden canviar el valor que curl rep per a --noproxy.
En la forma exec del Dockerfile, la matriu JSON ja és la llista d'arguments:
CMD ["curl", "--noproxy", "*", "https://example.com/"]
Aquí curl rep --noproxy i * com a arguments separats. L'asterisc no s'expandeix a noms de fitxer perquè cap shell d'ordres interpreta aquesta forma.
No posis l'opció i el valor en una sola cadena JSON. Tampoc no afegeixis cometes simples literals dins de la cadena només perquè un exemple de terminal les va fer servir per protegir el shell. Aquests caràcters de cometa poden passar a formar part del valor que es lliura al programa.
La forma de shell té una altra frontera: sí que implica un shell, així que les regles de cometes i expansió hi tenen rellevància. Un shell explícit llançat des d'una ordre en forma exec torna a afegir aquesta frontera.
El significat de --noproxy * a curl és evitar el proxy per a tots els amfitrions. És una decisió d'encaminament, no una prova genèrica de format d'arguments. Fes-lo servir només quan la ruta directa sigui la política volguda. Si necessites una elusió més estreta, proporciona el valor corresponent en la mateixa estructura d'un argument per element.