Πέρασμα μιας μεταβλητής διαμεσολαβητή του Compose σε ένα κοντέινερ
Κάντε τις μεταβλητές διαμεσολαβητή μέρος του περιβάλλοντος της υπηρεσίας Compose αντί να υποθέτετε ότι ένα αρχείο .env του έργου τις εισάγει αυτόματα.
Το αρχείο έργου .env του Compose παρέχει τιμές παρεμβολής. Για να δώσετε μία από αυτές τις τιμές σε ένα κοντέινερ, ανατρέξτε σε αυτήν στη διαμόρφωση της υπηρεσίας.
Για παράδειγμα, το .env περιέχει το τελικό σημείο του διαμεσολαβητή:
HTTP_PROXY=http://203.0.113.10:8080
Η υπηρεσία το χρησιμοποιεί τόσο για αιτήματα προς προορισμούς HTTP όσο και HTTPS:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Αντικαταστήστε τη διεύθυνση τεκμηρίωσης και το image· επιλέξτε ένα συμβατό τελικό σημείο HTTP από την υπηρεσία σας ή από τη λίστα διαμεσολαβητών HTTP. Ένας συνηθισμένος διαμεσολαβητής HTTP μπορεί να μεταφέρει HTTPS μέσω CONNECT αν υποστηρίζει τη ζητούμενη σήραγγα.
Μια ρητή καταχώριση env_file είναι ένας άλλος τρόπος να περάσετε τις μεταβλητές ενός επιλεγμένου αρχείου σε μια υπηρεσία. Το αρχείο παρεμβολής του έργου δεν λειτουργεί ως σιωπηρό env_file του κοντέινερ.
Έλεγχος του τι έφτασε στην εφαρμογή
docker compose config εμφανίζει τη διαμορφωμένη υπηρεσία. docker compose config --environment εμφανίζει αντίθετα τις τιμές που χρησιμοποιήθηκαν για την παρεμβολή.
Συγκρίνετε το περιβάλλον της υπηρεσίας με τη διεργασία της εφαρμογής. Ένα υπάρχον κοντέινερ δεν λαμβάνει νέες τιμές όταν επεξεργάζεστε το .env· εφαρμόστε την αλλαγή μέσω του προβλεπόμενου κύκλου ζωής του Compose, λαμβάνοντας υπόψη διακοπή της υπηρεσίας.
Αν η μεταβλητή λείπει, διορθώστε τη διαμόρφωση της υπηρεσίας. Αν υπάρχει αλλά τα αιτήματα παραμένουν άμεσα, ελέγξτε την υποστήριξη διαμεσολαβητή του πελάτη HTTP. Η εισαγωγή περιβάλλοντος παρέχει τη διαμόρφωση· η εφαρμογή πρέπει να τη χρησιμοποιήσει.