Contesto: docker-compose per avviare diversi container, incluso Gunicorn che chiama un'app Flask. Sto usando un file di ambiente web/env.gunicorn
per memorizzare la mia configurazione di avvio di Gunicorn. Questo file contiene
GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3"
Il problema è che GUNICORN_CMD_ARGS
non viene elaborato correttamente da qualche parte nella pipeline. L'errore che ricevo quando corro docker logs gunicorn
è
Error: '8001 --workers=3' is not a valid port number.
La domanda è: dove nella mia configurazione sono sbagliati i miei presupposti, causando in tal modo la modifica della variabile d'ambiente? La variabile di ambiente viene accettata quando eseguita manualmente in un terminale. Il file di composizione della finestra mobile appare come segue
version: "3"
services:
# nginx:
# image: nginx:latest
# ports:
# - "80:80"
# volumes:
# - ./nginx:/etc/nginx/conf.d
# depends_on:
# - web
web:
build: ./web
container_name: gunicorn
ports:
- "8001:8001"
environment:
- APP_CONFIG_FILE=../config/development.py
env_file:
- 'web/env.gunicorn'
networks:
- backend
command: gunicorn thymedata:app
depends_on:
- influxdb
- grafana
influxdb:
image: influxdb:latest
container_name: influxdb
ports:
- "8086:8086"
env_file:
- 'influxdb/env.influxdb'
- 'influxdb/secrets.influxdb'
networks:
- backend
volumes:
- influxdb-data:/var/lib/influxdb
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
env_file:
- 'grafana/env.grafana'
- 'grafana/secrets.grafana'
networks:
- backend
volumes:
- grafana-data:/var/lib/grafana
depends_on:
- influxdb
networks:
backend:
volumes:
influxdb-data:
grafana-data:
GUNICORN_CMD_ARGS
set, e lo ha accettato correttamente (numero di lavoratori e indirizzo controllato). Ecco perché suppongo che il problema sia dalla parte di Docker.
ERROR: build path /home/ben/devopsStackExchange/web either does not exist, is not accessible, or is not a valid URL.
. Si prega di creare un steps to reproduce paragraph
e aggiungere i file richiesti in modo che altre persone possano aiutarti aiutandoli almeno a riprodurre il problema.
command: gunicorn thymedata:app --bind=127.0.0.1:8001 --workers=3
versione, poiché le variabili caricate tramite env_file
non sono accettate. Devono essere già impostati nel terminale di chiamata.