Na forma exec do Dockerfile, o array JSON já é a lista de argumentos:

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

Aqui curl recebe --noproxy e * como argumentos separados. O asterisco não é expandido em nomes de ficheiros porque nenhum shell de comandos interpreta esta forma.

Não coloque a opção e o valor numa única string JSON. Também não acrescente aspas simples literais dentro da string só porque um exemplo de terminal as usou para proteção do shell. Esses caracteres de aspas podem tornar-se parte do valor passado ao programa.

A forma shell tem outra fronteira: envolve um shell, por isso as regras de aspas e expansão contam aí. Um shell explícito lançado a partir de um comando em forma exec volta a acrescentar essa fronteira.

O significado de --noproxy * em curl é contornar o proxy para todos os hosts. É uma escolha de encaminhamento, não um teste genérico de formato de argumentos. Use-o apenas quando a rota direta for a política pretendida. Se precisar de um contorno mais estreito, forneça o valor correspondente na mesma estrutura de um argumento por elemento.

Artigos relacionados