Στη μορφή exec του Dockerfile, ο πίνακας JSON είναι ήδη η λίστα ορισμάτων:

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

Εδώ το curl λαμβάνει --noproxy και * ως ξεχωριστά ορίσματα. Ο αστερίσκος δεν επεκτείνεται σε ονόματα αρχείων, επειδή κανένα κέλυφος εντολών δεν ερμηνεύει αυτή τη μορφή.

Μην βάζετε την επιλογή και την τιμή σε μία συμβολοσειρά JSON. Μην προσθέτετε ούτε κυριολεκτικά απλά εισαγωγικά μέσα στη συμβολοσειρά μόνο και μόνο επειδή ένα παράδειγμα τερματικού τα χρησιμοποίησε για προστασία του κελύφους. Αυτοί οι χαρακτήρες εισαγωγικών μπορούν να γίνουν μέρος της τιμής που περνά στο πρόγραμμα.

Η μορφή κελύφους έχει άλλο όριο: περιλαμβάνει κέλυφος, οπότε εκεί ισχύουν οι κανόνες εισαγωγικών και επέκτασης. Ένα ρητό κέλυφος που εκκινείται από εντολή μορφής exec προσθέτει ξανά αυτό το όριο.

Η σημασία του --noproxy * στο curl είναι να παρακάμπτεται ο διακομιστής μεσολάβησης για όλους τους κεντρικούς υπολογιστές. Αυτή είναι επιλογή δρομολόγησης, όχι γενική δοκιμή μορφής ορισμάτων. Χρησιμοποιήστε το μόνο όταν η άμεση διαδρομή είναι η επιδιωκόμενη πολιτική. Αν χρειάζεστε στενότερη παράκαμψη, δώστε την αντίστοιχη τιμή στην ίδια δομή ενός ορίσματος ανά στοιχείο.

Σχετικά άρθρα