Перадача зменнай проксі 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-кліенце. Увод асяроддзя падае канфігурацыю; праграма павінна яе выкарыстоўваць.