В exec-формі Dockerfile масив JSON уже є списком аргументів:

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

Тут curl отримує --noproxy і * як окремі аргументи. Зірочка не розгортається в імена файлів, бо жодна командна оболонка не інтерпретує цю форму.

Не вміщуйте опцію та значення в один рядок JSON. Не додавайте також буквальні одинарні лапки всередині рядка лише тому, що приклад у терміналі використав їх для захисту оболонки. Ці символи лапок можуть стати частиною значення, яке передається програмі.

Форма оболонки має іншу межу: вона включає оболонку, тому правила лапок і розгортання там важливі. Явна оболонка, запущена з команди в exec-формі, повертає цю межу.

Значення --noproxy * у curl — обходити проксі для всіх хостів. Це вибір маршрутизації, а не загальна перевірка формату аргументів. Використовуйте його лише тоді, коли прямий маршрут є бажаною політикою. Якщо вам потрібне вужче обходження, передайте відповідне значення в тій самій структурі один аргумент на елемент.

Схожі статті