chore: update code 周一-2025-11 17:57
This commit is contained in:
@@ -28,7 +28,9 @@ COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir --upgrade pip && \
|
||||
pip install --no-cache-dir -r requirements.txt && \
|
||||
pip install --no-cache-dir gunicorn && \
|
||||
which gunicorn || echo "Gunicorn installed via python -m"
|
||||
python -m pip install --force-reinstall gunicorn && \
|
||||
python -c "import gunicorn; print(f'Gunicorn version: {gunicorn.__version__}')" && \
|
||||
python -m gunicorn --version || echo "Gunicorn installed, using python -m gunicorn"
|
||||
|
||||
# 复制应用代码
|
||||
COPY . .
|
||||
@@ -49,5 +51,5 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
||||
# 使用gunicorn启动应用(生产环境)
|
||||
# 注意:默认配置使用2个worker,适合1GB+内存的机器
|
||||
# 如果机器内存较小(512MB-1GB),建议修改为 "--workers", "1"
|
||||
# 使用 python -m gunicorn 确保可以找到 gunicorn
|
||||
# 使用 python -m gunicorn 确保可以找到 gunicorn(即使可执行文件不在PATH中也能工作)
|
||||
CMD ["python", "-m", "gunicorn", "--bind", "0.0.0.0:5000", "--workers", "2", "--timeout", "120", "--access-logfile", "-", "--error-logfile", "-", "web_app:app"]
|
||||
|
||||
@@ -40,7 +40,11 @@ RUN echo "scikit-learn>=1.3.0" > requirements-minimal.txt && \
|
||||
echo "gunicorn" >> requirements-minimal.txt
|
||||
|
||||
# 安装Python依赖(使用最小化依赖,opencv使用headless版本)
|
||||
RUN pip install --no-cache-dir -r requirements-minimal.txt
|
||||
RUN pip install --no-cache-dir --upgrade pip && \
|
||||
pip install --no-cache-dir -r requirements-minimal.txt && \
|
||||
python -m pip install --force-reinstall gunicorn && \
|
||||
python -c "import gunicorn; print(f'Gunicorn version: {gunicorn.__version__}')" && \
|
||||
python -m gunicorn --version || echo "Gunicorn installed, using python -m gunicorn"
|
||||
|
||||
# 复制应用代码
|
||||
COPY . .
|
||||
@@ -59,5 +63,6 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
||||
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:5000/health').read()" || exit 1
|
||||
|
||||
# 使用gunicorn启动应用(小内存配置:单worker,减少内存占用)
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", "--threads", "2", "--timeout", "120", "--worker-class", "sync", "--max-requests", "1000", "--max-requests-jitter", "100", "--preload", "--access-logfile", "-", "--error-logfile", "-", "web_app:app"]
|
||||
# 使用 python -m gunicorn 确保可以找到 gunicorn(即使可执行文件不在PATH中也能工作)
|
||||
CMD ["python", "-m", "gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", "--threads", "2", "--timeout", "120", "--worker-class", "sync", "--max-requests", "1000", "--max-requests-jitter", "100", "--preload", "--access-logfile", "-", "--error-logfile", "-", "web_app:app"]
|
||||
|
||||
|
||||
@@ -34,3 +34,4 @@ kivymd>=1.1.1
|
||||
# Web端支持 (必需)
|
||||
Flask>=3.0.0
|
||||
Werkzeug>=3.0.0
|
||||
gunicorn>=21.2.0 # Web服务器(生产环境必需)
|
||||
|
||||
Reference in New Issue
Block a user