Contexto: docker-compose para iniciar varios contenedores, incluido Gunicorn que llama a una aplicación Flask. Estoy usando un archivo de entorno web/env.gunicorn
para almacenar mi configuración de inicio de Gunicorn. Este archivo contiene
GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3"
El problema es que GUNICORN_CMD_ARGS
no se procesa correctamente en algún lugar de la tubería. El error que obtengo al ejecutar docker logs gunicorn
es
Error: '8001 --workers=3' is not a valid port number.
La pregunta es, ¿en qué parte de mi configuración están equivocados mis supuestos, lo que hace que la variable de entorno se destruya? La variable de entorno se acepta cuando se ejecuta manualmente en un terminal. El archivo de composición del acoplador se ve de la siguiente manera
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, y lo aceptó correctamente (# de trabajadores y dirección marcada). Por eso supongo que el problema está del lado de Docker.
ERROR: build path /home/ben/devopsStackExchange/web either does not exist, is not accessible, or is not a valid URL.
. Cree steps to reproduce paragraph
y agregue los archivos necesarios para que otras personas puedan ayudarlo al menos permitiéndoles reproducir el problema.
command: gunicorn thymedata:app --bind=127.0.0.1:8001 --workers=3
versión, ya que env_file
no se aceptan las variables cargadas a través de . Ya deben estar configurados en el terminal de llamada.