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.

Artikel berkaitan