प्रसंग: कई कंटेनरों को शुरू करने के लिए डॉकटर-कंपोज़, जिसमें Gunicorn भी शामिल है, जो एक फ्लास्क ऐप कहता है। मैं web/env.gunicorn
अपने Gunicorn स्टार्टअप कॉन्फ़िगरेशन को संग्रहीत करने के लिए एक पर्यावरण फ़ाइल का उपयोग कर रहा हूं । इस फ़ाइल में है
GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3"
समस्या यह है कि GUNICORN_CMD_ARGS
पाइपलाइन में कहीं भी सही तरीके से संसाधित नहीं किया गया है। दौड़ते समय जो त्रुटि मुझे होती docker logs gunicorn
है
Error: '8001 --workers=3' is not a valid port number.
सवाल यह है कि मेरे सेटअप में मेरी धारणाएँ गलत कहाँ हैं, जिससे पर्यावरण परिवर्तन का कारण बन सकता है? टर्मिनल में मैन्युअल रूप से चलाने पर पर्यावरण चर स्वीकार किया जाता है। डॉक कम्पोज़ फ़ाइल निम्नानुसार दिखती है
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
सेट के साथ कमांड लाइन से गुनिकॉर्न शुरू करने की भी कोशिश की , और इसे ठीक से स्वीकार कर लिया (# श्रमिकों और पते की जांच की)। इसलिए मुझे लगता है कि समस्या डॉकर की तरफ है।
ERROR: build path /home/ben/devopsStackExchange/web either does not exist, is not accessible, or is not a valid URL.
। कृपया steps to reproduce paragraph
आवश्यक फ़ाइलें बनाएँ और उन्हें जोड़ें ताकि अन्य लोग कम से कम आपकी मदद कर सकें जिससे उन्हें समस्या को पुन: उत्पन्न करने में मदद मिल सके।
command: gunicorn thymedata:app --bind=127.0.0.1:8001 --workers=3
संस्करण से चिपक जाऊंगा, क्योंकि चर जिस पर लोड env_file
किए गए हैं स्वीकार नहीं किए जाते हैं। उन्हें कॉलिंग टर्मिनल में पहले से ही सेट किया जाना है।