Предаване на променлива за прокси от 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}"
Заменете адреса от документацията и образа; изберете съвместима крайна точка по HTTP от вашата услуга или от списъка с HTTP прокси сървъри. Обикновено HTTP прокси може да пренася HTTPS чрез CONNECT, ако поддържа поискания тунел.
Явен запис env_file е друг начин да предадете променливите на избран файл на услуга. Файлът за интерполация на проекта не действа като неявен env_file за контейнера.
Проверка какво е достигнало до приложението
docker compose config показва разрешената конфигурация на услугата. docker compose config --environment вместо това показва стойностите, използвани за интерполация.
Сравнете средата на услугата с процеса на приложението. Съществуващ контейнер не получава нови стойности, когато редактирате .env; приложете промяната чрез предвидения жизнен цикъл на Compose, като допуснете прекъсване на услугата.
Ако променливата липсва, коригирайте конфигурацията на услугата. Ако е налице, но заявките остават директни, проверете поддръжката на прокси в HTTP клиента. Вмъкването на среда предоставя конфигурация; приложението трябва да я използва.