Compose-ის პროქსის ცვლადის კონტეინერში გადაცემა
პროქსის ცვლადები Compose სერვისის გარემოს ნაწილად აქციეთ, ნაცვლად იმისა, რომ ივარაუდოთ, რომ პროექტის .env ფაილი მათ ავტომატურად ჩასვამს.
Compose-ის პროექტის .env ფაილი ინტერპოლაციის მნიშვნელობებს იძლევა. ამ მნიშვნელობიდან ერთის კონტეინერისთვის მისაცემად, მიუთითეთ ის სერვისის კონფიგურაციაში.
მაგალითად, .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}"
შეცვალეთ დოკუმენტაციის მისამართი და იმიჯი; აირჩიეთ თავსებადი HTTP ბოლო წერტილი თქვენი სერვისიდან ან HTTP პროქსის სიიდან. ჩვეულებრივ HTTP პროქსის შეუძლია HTTPS-ის CONNECT-ის მეშვეობით გატარება, თუ ის მოთხოვნილ გვირაბს მხარს უჭერს.
აშკარა env_file ჩანაწერი შერჩეული ფაილის ცვლადების სერვისისთვის გადაცემის კიდევ ერთი გზაა. პროექტის ინტერპოლაციის ფაილი არ მოქმედებს როგორც იმპლიციტური კონტეინერის env_file.
რა მივიდა აპლიკაციამდე — შემოწმება
docker compose config აჩვენებს გადაწყვეტილ სერვისის კონფიგურაციას. docker compose config --environment სამაგიეროდ აჩვენებს ინტერპოლაციისთვის გამოყენებულ მნიშვნელობებს.
შეადარეთ სერვისის გარემო აპლიკაციის პროცესს. არსებული კონტეინერი ახალ მნიშვნელობებს არ იღებს .env-ის რედაქტირებისას; ცვლილება გამოიყენეთ განზრახული Compose სასიცოცხლო ციკლით, სერვისის შეწყვეტის დაშვებით.
თუ ცვლადი არ არის, შეასწორეთ სერვისის კონფიგურაცია. თუ ის არსებობს, მაგრამ მოთხოვნები კვლავ პირდაპირია, შეამოწმეთ HTTP კლიენტის პროქსის მხარდაჭერა. გარემოს ჩასმა კონფიგურაციას იძლევა; აპლიკაციამ ის უნდა გამოიყენოს.