Bentuk exec Dockerfile: meneruskan curl --noproxy * tanpa kutip shell
Dalam bentuk exec, setiap string JSON adalah satu argumen. Kutip shell tambahan dapat mengubah nilai yang diterima curl untuk --noproxy.
Dalam bentuk exec Dockerfile, array JSON sudah merupakan daftar argumen:
CMD ["curl", "--noproxy", "*", "https://example.com/"]
Di sini curl menerima --noproxy dan * sebagai argumen terpisah. Tanda bintang tidak diperluas menjadi nama berkas karena tidak ada shell perintah yang menafsirkan bentuk ini.
Jangan menaruh opsi dan nilainya dalam satu string JSON. Juga jangan menambahkan kutip tunggal literal di dalam string hanya karena contoh di terminal memakainya untuk perlindungan shell. Karakter kutip itu bisa menjadi bagian dari nilai yang diteruskan ke program.
Bentuk shell punya batas lain: ia memang melibatkan shell, jadi aturan pengutipan dan perluasan berlaku di sana. Shell eksplisit yang dijalankan dari perintah bentuk exec mengembalikan batas itu.
Arti --noproxy * pada curl adalah melewati proksi untuk semua host. Itu pilihan perutean, bukan uji format argumen secara umum. Gunakan hanya ketika rute langsung menjadi kebijakan yang dimaksud. Jika Anda perlu penglewatan yang lebih sempit, berikan nilai yang sesuai dalam struktur satu argumen per elemen yang sama.