Menghantar pemboleh ubah proksi Compose ke dalam kontena
Jadikan pemboleh ubah proksi sebahagian daripada persekitaran perkhidmatan Compose dan bukannya menganggap fail .env projek menyuntikkannya secara automatik.
Fail .env projek Compose membekalkan nilai interpolasi. Untuk memberikan salah satu nilai itu kepada kontena, rujuknya dalam konfigurasi perkhidmatan.
Sebagai contoh, .env mengandungi titik akhir proksi:
HTTP_PROXY=http://203.0.113.10:8080
Perkhidmatan menggunakannya untuk permintaan destinasi HTTP dan HTTPS:
services:
app:
image: your-image
environment:
HTTP_PROXY: "${HTTP_PROXY}"
HTTPS_PROXY: "${HTTP_PROXY}"
Gantikan alamat dokumentasi dan imej; pilih titik akhir HTTP yang serasi daripada perkhidmatan anda atau daripada senarai proksi HTTP. Proksi HTTP biasa boleh membawa HTTPS melalui CONNECT jika ia menyokong terowong yang diminta.
Entri env_file yang eksplisit ialah cara lain untuk menghantar pemboleh ubah fail yang dipilih kepada perkhidmatan. Fail interpolasi projek tidak bertindak sebagai env_file kontena yang tersirat.
Menyemak apa yang sampai kepada aplikasi
docker compose config menunjukkan konfigurasi perkhidmatan yang telah diselesaikan. docker compose config --environment pula menunjukkan nilai yang digunakan untuk interpolasi.
Bandingkan persekitaran perkhidmatan dengan proses aplikasi. Kontena sedia ada tidak menerima nilai baharu apabila anda mengedit .env; gunakan perubahan melalui kitaran hayat Compose yang dimaksudkan, dengan mengambil kira gangguan perkhidmatan.
Jika pemboleh ubah tiada, betulkan konfigurasi perkhidmatan. Jika ia ada tetapi permintaan masih langsung, semak sokongan proksi klien HTTP. Suntikan persekitaran membekalkan konfigurasi; aplikasi mesti menggunakannya.