Na forma exec do Dockerfile, a matriz JSON xa é a lista de argumentos:

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

Aquí curl recibe --noproxy e * como argumentos separados. O asterisco non se expande a nomes de ficheiro porque ningún shell de comandos interpreta esta forma.

Non poñas a opción e o valor nunha soa cadea JSON. Tampouco engadas comiñas simples literais dentro da cadea só porque un exemplo de terminal as usou para protexer o shell. Eses caracteres de comiña poden pasar a formar parte do valor que se entrega ao programa.

A forma de shell ten outra fronteira: si implica un shell, así que as regras de comiñas e expansión importan alí. Un shell explícito lanzado desde un comando en forma exec volve engadir esa fronteira.

O significado de --noproxy * en curl é evitar o proxy para todos os hosts. É unha decisión de encamiñamento, non unha proba xenérica de formato de argumentos. Úsao só cando a ruta directa sexa a política desexada. Se necesitas unha evasión máis estreita, fornece o valor correspondente na mesma estrutura dun argumento por elemento.

Artigos relacionados