DNS υπηρεσίας Docker και παράκαμψη διαμεσολαβητή με no_proxy
Χρησιμοποιήστε το no_proxy για μια επιδιωκόμενη εσωτερική υπηρεσία όταν ο εξωτερικός διαμεσολαβητής HTTP δεν μπορεί να επιλύσει ή να φτάσει αυτό το δίκτυο.
Ένας εξωτερικός διαμεσολαβητής HTTP δεν χρειάζεται να γνωρίζει το όνομα της υπηρεσίας api του Docker. Για το http://api:8080/ ο διαμεσολαβητής ανοίγει την επόμενη σύνδεση, επομένως μια επιτυχής αναζήτηση μέσα στο container της εφαρμογής δεν αποδεικνύει την οπτική DNS του διαμεσολαβητή.
Για την επιδιωκόμενη άμεση πρόσβαση, προσθέστε την εξαίρεση στο περιβάλλον αυτού του container:
environment:
http_proxy: http://proxy.example:8080
https_proxy: http://proxy.example:8080
no_proxy: apiΟι άμεσες αιτήσεις προς το api χρησιμοποιούν τη διαδρομή του container και τον ενσωματωμένο resolver. Τα δύο container εξακολουθούν να χρειάζονται το κοινό δίκτυο που ορίζει ο χρήστης και η υπηρεσία πρέπει να ακούει στη θύρα 8080. Οι επιλέξιμες εξωτερικές αιτήσεις διατηρούν τον διαμεσολαβητή. Αν αυτοί οι δημόσιοι προορισμοί μπορούν να χρησιμοποιήσουν δημόσιο ενδιάμεσο, η λίστα διαμεσολαβητών HTTP παρέχει υποψηφίους για τα URL διαμεσολαβητών χωρίς λογαριασμό· κρατήστε το api στις άμεσες εξαιρέσεις.
Αν τα επαναδημιουργημένα container διατηρούν μη αναμενόμενες μεταβλητές, εξετάστε την ενότητα config.json proxies του πελάτη Docker, η οποία μπορεί να εισάγει τιμές περιβάλλοντος. Αλλάξτε την επιδιωκόμενη καταχώριση και επαναδημιουργήστε τα επηρεαζόμενα container μέσω της κανονικής ροής, διατηρώντας τη μη σχετική διαμόρφωση.