Файл .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-клієнті. Вставлення середовища лише надає конфігурацію; застосунок мусить її використовувати.

Схожі статті