Bối cảnh: docker-compose để bắt đầu một số container, bao gồm Gunicorn gọi ứng dụng Flask. Tôi đang sử dụng tệp môi trường web/env.gunicornđể lưu trữ cấu hình khởi động Gunicorn của mình. Tập tin này chứa
GUNICORN_CMD_ARGS="--bind=127.0.0.1:8001 --workers=3"
Vấn đề là GUNICORN_CMD_ARGSkhông được xử lý chính xác ở đâu đó trong đường ống. Lỗi mà tôi gặp phải khi chạy docker logs gunicornlà
Error: '8001 --workers=3' is not a valid port number.
Câu hỏi là, ở đâu trong thiết lập của tôi, các giả định của tôi sai, do đó làm cho biến môi trường bị sai lệch? Biến môi trường được chấp nhận khi chạy thủ công trong thiết bị đầu cuối. Các tập tin soạn thảo docker trông như sau
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_ARGSset và nó đã chấp nhận nó một cách chính xác (# công nhân và địa chỉ được kiểm tra). Đó là lý do tại sao tôi cho rằng vấn đề nằm ở phía Docker.
                ERROR: build path /home/ben/devopsStackExchange/web either does not exist, is not accessible, or is not a valid URL.. Vui lòng tạo steps to reproduce paragraphvà thêm các tệp cần thiết để người khác có thể giúp bạn bằng cách ít nhất cho phép họ tái tạo vấn đề.
                command: gunicorn thymedata:app --bind=127.0.0.1:8001 --workers=3phiên bản, vì các biến được tải qua env_filekhông được chấp nhận. Chúng phải được đặt trong thiết bị đầu cuối cuộc gọi.