บริบท: นักเทียบท่าเขียนเพื่อเริ่มภาชนะบรรจุหลายแห่งรวมถึง Gunicorn ที่เรียกใช้แอพ Flask ฉันใช้ไฟล์สภาพแวดล้อม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ชุดและยอมรับมันอย่างถูกต้อง (จำนวนคนงานและที่อยู่ที่ตรวจสอบแล้ว) นั่นเป็นเหตุผลที่ฉันคิดว่าปัญหาอยู่ที่ด้านข้างของ Docker
                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ไม่เป็นที่ยอมรับ พวกเขาจะต้องมีการตั้งค่าในสถานีโทร