Pagpasa ng Proxy Variable ng Compose sa Loob ng Container
Gawing bahagi ng environment ng serbisyong Compose ang mga proxy variable sa halip na ipagpalagay na awtomatikong ini-inject ang mga ito ng .env file ng proyekto.
Ang .env na file ng proyekto ng Compose ay nagbibigay ng mga halaga para sa interpolation. Para maibigay sa container ang isa sa mga halagang iyon, i-reference ito sa configuration ng serbisyo.
Halimbawa, ang .env ay naglalaman ng proxy endpoint:
HTTP_PROXY=http://203.0.113.10:8080
Ginagamit ito ng serbisyo para sa parehong HTTP at HTTPS na request sa destinasyon:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Palitan ang documentation address at ang image; pumili ng tugmang HTTP endpoint mula sa iyong serbisyo o sa listahan ng HTTP proxy. Kayang magdala ng HTTPS ang isang ordinaryong HTTP proxy sa pamamagitan ng CONNECT kung sinusuportahan nito ang hinihiling na tunnel.
Ang tahasang env_file entry ay isa pang paraan para maipasa sa serbisyo ang mga variable ng piniling file. Ang interpolation file ng proyekto ay hindi gumaganap na implicit na env_file ng container.
Sinusuri kung ano ang nakarating sa application
Ipinapakita ng docker compose config ang naresolbang configuration ng serbisyo. Ang docker compose config --environment naman ay nagpapakita ng mga halagang ginamit sa interpolation.
Ihambing ang environment ng serbisyo sa proseso ng application. Hindi tumatanggap ng bagong halaga ang umiiral na container kapag in-edit mo ang .env; ilapat ang pagbabago sa nilalayong lifecycle ng Compose, na nagpapahintulot ng pagkaantala ng serbisyo.
Kung wala ang variable, ayusin ang configuration ng serbisyo. Kung naroroon ito pero nananatiling direkta ang mga request, tingnan ang suporta ng HTTP client sa proxy. Nagbibigay lamang ng configuration ang environment injection; kailangang gamitin ito ng application.