Il file di progetto .env di Compose fornisce i valori di interpolazione. Per passare uno di questi valori a un container, referenziatelo nella configurazione del servizio.

Ad esempio, .env contiene l'endpoint del proxy:

HTTP_PROXY=http://203.0.113.10:8080

Il servizio lo usa sia per le richieste verso destinazioni HTTP sia HTTPS:

services:
  app:
    image: your-image
    environment:
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTP_PROXY}"

Sostituite l'indirizzo di documentazione e l'immagine; scegliete un endpoint HTTP compatibile dal vostro servizio o dalla lista di proxy HTTP. Un normale proxy HTTP può trasportare HTTPS tramite CONNECT se supporta il tunnel richiesto.

Una voce env_file esplicita è un altro modo per passare le variabili di un file scelto a un servizio. Il file di interpolazione del progetto non funge da env_file implicito del container.

Verificare cosa è arrivato all'applicazione

docker compose config mostra la configurazione del servizio risolta. docker compose config --environment mostra invece i valori usati per l'interpolazione.

Confrontate l'ambiente del servizio con il processo dell'applicazione. Un container esistente non riceve nuovi valori quando modificate .env; applicate la modifica tramite il ciclo di vita Compose previsto, prevedendo un'interruzione del servizio.

Se la variabile manca, correggete la configurazione del servizio. Se è presente ma le richieste restano dirette, verificate il supporto proxy del client HTTP. L'iniezione dell'ambiente fornisce la configurazione; l'applicazione deve utilizzarla.

Articoli correlati