Konteks: komposisi buruh pelabuhan untuk memulai beberapa wadah, termasuk Gunicorn yang memanggil aplikasi Flask. Saya menggunakan file lingkungan web/env.gunicorn
untuk menyimpan konfigurasi startup Gunicorn saya. File ini berisi
GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3"
Masalahnya adalah bahwa GUNICORN_CMD_ARGS
tidak diproses dengan benar di suatu tempat di dalam pipa. Kesalahan yang saya dapatkan saat menjalankan docker logs gunicorn
adalah
Error: '8001 --workers=3' is not a valid port number.
Pertanyaannya adalah, di mana dalam pengaturan saya asumsi saya salah, sehingga menyebabkan variabel lingkungan menjadi hancur? Variabel lingkungan diterima ketika dijalankan secara manual di terminal. File penulisan docker tampak sebagai berikut
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, dan itu menerimanya dengan benar (# pekerja dan alamat diperiksa). Itu sebabnya saya kira masalahnya ada di pihak Docker.
ERROR: build path /home/ben/devopsStackExchange/web either does not exist, is not accessible, or is not a valid URL.
. Harap buat steps to reproduce paragraph
dan tambahkan file yang diperlukan agar orang lain dapat membantu Anda dengan setidaknya mengizinkan mereka mereproduksi masalah.
command: gunicorn thymedata:app --bind=127.0.0.1:8001 --workers=3
versi, karena variabel yang dimuat melalui env_file
tidak diterima. Mereka harus sudah diatur di terminal panggilan.